J'ai besoin d'accéder au HttpContext.Current à partir d'un service WCF RESTful. Je sais que je suis en mesure d'atteindre cet objectif en ajoutant ce qui suit à config:Comment définir ServiceHostingEnvironment.AspNetCompatibilityEnabled = true dans le code (pas dans la configuration) .NET/C#
<serviceHostingEnvironment aspNetCompatibilityEnabled=”true” />
et en utilisant l'attribut suivant sur mon service:
[AspNetCompatibilityRequirements(RequirementsMode
= AspNetCompatibilityRequirementsMode.Required)]
Voici ma question, je dois « spin up » une instance du service dans le code pour les tests unitaires et donc je ne peux pas utiliser les fichiers de configuration pour spécifier les bebaviours de service etc. Pour le moment, mon code ressemble à ceci, mais en dépit d'avoir parcouru le web, je n'ai pas pu déterminer comment Classe ServiceHostingEnvironment et définissez la propriété AspNetCompatibilityEnabled sur true sans utiliser de configuration, quelqu'un peut-il vous aider?
string serviceUrl = "http://localhost:8082/MyService.svc";
_host = new ServiceHost(typeof(MyService), new Uri[] { new Uri(serviceUrl) });
ServiceEndpoint serviceEndpoint
= _host.AddServiceEndpoint(typeof(IMyService), new WebHttpBinding(), string.Empty);
serviceEndpoint.Behaviors.Add(new WebHttpBehavior());
// Here's where I'm stuck, i need something like...
ServiceHostingEnvironmentSection shes = new ServiceHostingEnvironmentSection();
shes.AspNetCompatibilityEnabled = true;
_host.Add(shes);
_host.Open();
Toute aide est très appréciée et merci d'avance.
Cela ne touche même pas à la façon de définir le AspNetCompatibilityEnabled qui est ce que 95% de sa question portait. –