Como posso implementar IDataServiceMetadataProvider e dizer ao meu serviço de dados para usar esse provedor personalizado?

StackOverflow https://stackoverflow.com/questions/1663609

Pergunta

Não há nenhum ponto de entrada óbvio para implementar um provedor personalizado para um serviço de dados ADO.NET usando IDataServiceMetadataProvider, e depois dizer um serviço de dados para usar esse provedor. Alguém já teve alguma sorte nesta área? Eu tentei implementar essa interface em minha classe de origem de dados, mas nenhum dos meus pontos de interrupção são atingidos. Também não há maneira (óbvio) para definir o provedor de parâmetro DataServiceConfiguration do serviço de dados passado para a função InitializeService.

Qualquer ajuda seria apreciada. Obrigado!

Provedores de Serviços de Dados (ADO.NET Data Services)

IDataServiceMetadataProvider membros

Foi útil?

Solução

Nós estamos olhando para rever alguns dos documentos para essas interfaces para RTM. Entretanto, para obter o tempo de execução de serviços de dados para pegar sua implementação IDataServiceMetadataProvider, você precisará implementar a interface IServiceProvider na sua classe de serviço de dados.

IServiceProvider no MSDN

Amostra:

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

Outras dicas

Apenas para adicionar à Phani resposta, você precisa ter certeza de que você voltar tanto IDataServiceMetadataProvider e IDataServiceQueryProvider da chamada GetService. Para resto das interfaces, você tem a opção de devolvê-lo a partir GetService ou implementá-lo em sua classe DataSource.

Espero que isso ajude.

Graças Pratik

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top