Comment puis-je passer des paramètres à une ServiceHost
Je suis en train de faire la suite
//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();
}
J'ai besoin de passer un paramètre pour le Service et je ne peux pas comprendre comment. J'ai regardé Comment puis-je passer les valeurs du constructeur, sur mon service wcf? mais je ne pouvais pas obtenir ma tête autour de lui. Grâce
- Pourriez-vous juste de lire à partir de l'application.fichier de configuration à l'aide de ConfigurationManager.AppSettings[] au sein du service lui-même au lieu de passer par le constructeur?
Vous devez vous connecter pour publier un commentaire.
Si je comprends bien, vous voulez passer des paramètres au constructeur de votre service de la mise en œuvre de la classe. Vous pouvez à présent par passage d'un exemple de la classe de service à la
ServiceHost
constructeur, au lieu de son type. Qui est:Attention - à l'aide de cette approche signifie que vous utilisez une instance du singleton de la classe de service. Si vous avez besoin d'une nouvelle instance par session ou par demande, puis envisager d'utiliser un
ServiceHostFactory
comme décrit dans cette réponse.