为什么在首次请求启用ASP.Net的WCF服务时HttpContext.Current为null?

Cra*_*len 6 wcf

我有一些由IIS托管的WCF服务,并且打开了ASP.Net兼容性.

我在web.config中有以下内容:

<serviceHostingEnvironment aspNetCompatibilityEnabled ="true"/>

我的服务类装饰如下:

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]

出于某种奇怪的原因,在Web应用程序启动后,第一个请求的HttpContext.Current为null.对于后续请求,HttpContext.Current不为null.

有没有人知道为什么它不适用于第一个请求?

对HttpContext.Current的调用来自我编写的自定义UserNamePasswordValidator类,用于检查存储在数据库中的信用.

Cra*_*len 1

事实证明这是框架中的一个错误,已在 4.0 中修复。 更多信息