Wie implementiere ich IDataServiceMetadataProvider und meine Data Service sagen, dass benutzerdefinierten Anbieter zu benutzen?
-
12-09-2019 - |
Frage
Es gibt keinen offensichtlichen Einstiegspunkt für einen benutzerdefinierten Anbieter für einen ADO.NET Data Service mit IDataServiceMetadataProvider
Implementierung und dann einen Datendienst zu sagen, dass die Anbieter zu verwenden. Hat jemand in diesem Bereich kein Glück? Ich habe versucht, diese Schnittstelle auf meine Datenquelle Klasse Umsetzung, aber keiner meiner Stützpunkte sind getroffen. Es gibt auch keinen (offensichtlich) Weg, um die Anbieter von dem Datendienstes des DataServiceConfiguration
Parameter auf die InitializeService
Funktion übergeben.
Jede Hilfe wäre sehr geschätzt. Dank!
Lösung
Wir suchen einen Teil der Dokumentation für diese Schnittstellen für RTM bei der Überarbeitung. In der Zwischenzeit die Data Services-Laufzeit, um Ihre IDataServiceMetadataProvider Implementierung zu holen, müssen Sie die IServiceProvider-Schnittstelle auf Ihrer Data Service Klasse implementieren.
Beispiel:
public class northwindService:DataService<northwindContext> , IServiceProvider
{
public object GetService(Type serviceType)
{
if (serviceType == typeof(IDataServiceMetadataProvider )) {
//return instance of type which implements IDataServiceMetadataProvider
}
return null;
}
}
Andere Tipps
Just zu Phani Antwort hinzufügen möchten, müssen Sie sicherstellen, dass Sie beide IDataServiceMetadataProvider zurückkehren und IDataServiceQueryProvider vom GetService Anruf. Für Rest der Schnittstellen, haben Sie die Wahl aus GetService zurückzukehren oder auf der Datasource-Klasse zu implementieren.
Hope, das hilft.
Danke Pratik