2013-04-23 5 views
2

У меня есть сервер 2 серверов и сервер приложений на сервере приложений у меня работает WCF. в любой функции на wcf i "m пытается получить текущего пользователя с System.Web.HttpContext.Current.User, но я получаю нуль , есть способ получить пользователя, не перемещая его с параметром в любой функции?HttpContex null on wcf

+0

Какова ваша конфигурация wcf? – evgenyl

ответ

1

Попробуйте использовать ServiceSecurityContext.Current.PrimaryIdentity.

+0

ServiceSecurityContext.Current is null – avnic

+0

Каков ваш режим безопасности: ''? – Vladimir

+0

Хорошо работает http://sankarsan.wordpress.com/2010/07/25/identity-securitycallcontext-in-wcf/ спасибо – avnic

2

WCF пытается дистанцироваться от ASP.NET, поскольку он может запускаться на любом количестве хостов - а не только на ASP.NET. Это также позволяет вырезать большие куски трубы ASP.NET, улучшая пропускную способность. Вы можете заставить его использовать режим ASP.NET, добавив:

<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/> 

конфигурации, но, честно говоря, вам лучше (ИМО) с использованием нити основной вместо этого. WCF полностью поддерживает основную модель.