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

时间:2010-10-12 15:43:09

标签: wcf

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

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

< serviceHostingEnvironment aspNetCompatibilityEnabled =“true”/>

我的服务类装饰如下:

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]

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

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

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

2 个答案:

答案 0 :(得分:1)

原来这是4.0中修复的框架中的错误。 more info

答案 1 :(得分:0)

如果您使用IIS 7.0集成模式来托管您的应用程序HttpContext.Current可能未在Application_Start中初始化,那么如果您尝试访问它,它将会崩溃。