Wcf中的HttpContext为null

时间:2013-04-23 08:07:59

标签: c# wcf httpcontext appserver

我有2台服务器Web服务器和应用服务器 在应用服务器上我运行了WCF。 在wcf上的任何函数中我试图获得当前用户 与System.Web.HttpContext.Current.User但我得到null 有一种方法可以让用户不用任何函数移动它吗?

2 个答案:

答案 0 :(得分:2)

WCF尝试将自己与ASP.NET保持距离,因为它可以在任意数量的主机中运行 - 而不仅仅是ASP.NET。这也允许它删除ASP.NET管道的大块,从而提高吞吐量。您可以通过添加以下命令强制它使用ASP.NET模式:

<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>

到配置,但坦率地说,你最好使用线程主体(IMO)。 WCF完全支持主体模型。

答案 1 :(得分:1)

尝试使用ServiceSecurityContext.Current.PrimaryIdentity