Как мне реализовать IDataServiceMetadataProvider и указать моей службе данных использовать этот пользовательский поставщик?

Не существует очевидной точки входа для реализации настраиваемого поставщика для службы данных ADO.NET с использованием IDataServiceMetadataProviderи затем говорю службе данных использовать этого провайдера. Кому-нибудь повезло в этой области? Я пытался реализовать этот интерфейс в своем классе Data Source, но ни одна из моих точек останова не была достигнута. Также нет (очевидного) способа установить провайдера из службы данных DataServiceConfiguration параметр передан в InitializeService функция.

Любая помощь будет оценена. Спасибо!

Поставщики услуг передачи данных (ADO.NET Data Services)

IDataServiceMetadataProvider члены

2 ответа

Решение

Мы смотрим на пересмотр части документации для этих интерфейсов для RTM. В то же время, чтобы среда выполнения Data Services могла забрать реализацию IDataServiceMetadataProvider, вам необходимо реализовать интерфейс IServiceProvider в своем классе Data Service.

IServiceProvider на MSDN

Образец:

public class northwindService:DataService<northwindContext> , IServiceProvider 
{
   public object GetService(Type serviceType) 
   {
      if (serviceType == typeof(IDataServiceMetadataProvider )) {
        //return instance of type which implements IDataServiceMetadataProvider 
       }
     return null;
    }  
}

Чтобы добавить ответ Phani, необходимо убедиться, что вы возвращаете IDataServiceMetadataProvider и IDataServiceQueryProvider из вызова GetService. Для остальных интерфейсов у вас есть возможность вернуть его из GetService или реализовать его в своем классе DataSource.

Надеюсь это поможет.

Спасибо пратик

Другие вопросы по тегам