Wie kann ich Parameter übergeben, um die ServiceHost -
Mache ich die folgenden
//Define the service host
this._smeediPluginServiceHost = new ServiceHost(typeof(SmeediServiceHost), smeediServiceUri);
this._smeediPluginServiceHost.AddServiceEndpoint(typeof(ISmeediServiceHost), GetBinding(), smeediServiceUri);
SetupAndStartWebService(_smeediPluginServiceHost);
private void SetupAndStartWebService(ServiceHost serviceHost, ServiceDiscoveryBehavior serviceDiscoveryBehavior = null)
{
//Define service behaviours
ServiceMetadataBehavior serviceMetadataBehavior = new ServiceMetadataBehavior();
serviceMetadataBehavior.HttpGetEnabled = true;
//Add the behaviours to the service
serviceHost.Description.Behaviors.Add(serviceMetadataBehavior);
if (serviceDiscoveryBehavior != null)
serviceHost.Description.Behaviors.Add(serviceDiscoveryBehavior);
serviceHost.Open();
}
Ich muss ein parameter übergeben werden für den Dienst und ich kann nicht herausfinden, wie. Ich habe mir bei Wie kann ich Werte übergeben an den Konstruktor auf meinem wcf-service?, aber konnte nicht meinen Kopf um ihn herum. Dank
Konnte Sie gerade Lesen, aus der app heraus.config-Datei mit den ConfigurationManager.AppSettings[] innerhalb des service selbst, statt an den Konstruktor übergeben?
InformationsquelleAutor Toby Holland | 2013-01-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn ich das richtig verstehe, Sie wollen, um die übergabe von Parametern an den Konstruktor des service-Implementierungsklasse. Sie können dies, indem Sie die übergabe eines Beispiel von der service-Klasse für das
ServiceHost
constructor, statt dessen geben. Das heißt:Vorsicht - mit diesem Ansatz bedeutet, dass Sie mit einer singleton-Instanz der service-Klasse. Wenn Sie eine neue Instanz pro session oder pro Anfrage, dann erwägen Sie die Verwendung einer
ServiceHostFactory
wie beschrieben in diese Antwort.InformationsquelleAutor McGarnagle