У меня есть требование получить доступ к HttpContext.Current из службы RESTful WCF. Я знаю, что могу добиться этого, добавив следующее в config:
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
и используя следующий атрибут в моей службе:
[AspNetCompatibilityRequirements(RequirementsMode
= AspNetCompatibilityRequirementsMode.Required)]
Вот моя проблема, мне нужно "развернуть" экземпляр службы в коде для модульного тестирования, и поэтому я не могу использовать файлы конфигурации для указания bebaviours службы и т.д. В настоящий момент мой код выглядит следующим образом, но, несмотря на очистку сети, мне не удалось выяснить, как я настроил класс ServiceHostingEnvironment и установить свойство AspNetCompatibilityEnabled в true без использования config, может ли кто-нибудь помочь?
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 where I'm stuck, i need something like...
ServiceHostingEnvironmentSection shes = new ServiceHostingEnvironmentSection();
shes.AspNetCompatibilityEnabled = true;
_host.Add(shes);
_host.Open();
Любая помощь очень ценится и благодарит заранее.