Если вы размещаете в IIS, это становится намного проще. Этот кусок конфигурации поступает прямо из моего хостингового веб-проекта и заставляет запросы ASP.NET проходить по конвейеру IIS, а не отправляться прямо в биты ошибки IIS ASP.
aspNetCompatibilityEnabled: когда для этого атрибута установлено значение
правда, запросы к службам Windows Communication Foundation (WCF)
поток через HTTP-конвейер ASP.NET и связь через
не HTTP протоколы запрещены.
См .: http://msdn.microsoft.com/en-us/library/ms731336.aspx
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
Я использую AuthenticationService и использую HttpContext для получения всех интересных сведений о клиенте, большая часть которых полезна для таких вещей, как обеспечение того, чтобы пользователь не входил в систему из шести различных подсетей, а также не играл с печенье.
Хотя я думаю, что это применимо к MS AuthenticationService, для любых других ваших служб этот атрибут потребуется:
[AspNetCompatibilityRequirements (RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] * 1013 *
Если вы хотите продолжить свой маршрут службы, не размещенной в IIS, то я посмотрю, какие вещи доступны в MS API, используя отражение, покачиваясь в WCF с отладчиком, пока он остановлен, разворачивая все эти непубличные члены .
Полагаю, проблема будет в том, чтобы получить ссылку на немного WCF, который инициализируется, чтобы начать тыкать. Возможно, вам придется зарегистрировать какого-либо слушателя у одного из диспетчеров при настройке хоста службы.
http://msdn.microsoft.com/en-us/library/system.servicemodel.dispatcher.channeldispatcher.aspx
Edit:
Добавив эту ссылку, я думаю, что вам нужно разобраться с вещами в WCF, которые находятся прямо в стеке, прежде чем они попадут в ваш код:
http://blogs.msdn.com/sonuarora/archive/2007/06/11/passing-soap-actions-to-adapter-inbound-handler-for-filtering-type-of-listeners.aspx