错误:HttpContext.Current为空。 | PerWebRequestLifestyle |温莎城堡|线程

时间:2019-03-19 10:49:23

标签: c# wcf castle-windsor mef property-injection

我有WCF服务,并且在使用MEF的该服务中,我正在调用运行时类库。

我已经在此类库中实现了DI(castle Windsor),它在所有请求中都可以正常运行,但有时会返回错误,如下所示

“ HttpContext.Current为null。PerWebRequestLifestyle只能在ASP.Net中使用”

我们已经应用了所有互联网解决方案,例如安装Asp.net功能,将DI生命周期从 LifestylePerWebRequest 更改为 scope hibridgeLifeStyle 等 但下面找不到合适的结果是我的代码

enter image description here


enter image description here

谁能帮助我解决这个问题。因为我是DI的新手,所以这不是生命周期问题,MEF问题或线程问题,因为我正在将该类自由调用为线程

预先感谢

1 个答案:

答案 0 :(得分:0)

您需要在ASP.Net兼容模式下运行WCF才能访问HttpContext。不确定为什么需要它,因为那样一来,您只能以asp.net兼容模式在IIS上运行WCF服务,而不能在Windows服务等其他托管环境中运行。

更多信息在这里:https://docs.microsoft.com/en-us/dotnet/framework/wcf/feature-details/wcf-services-and-aspnet还告诉您应该使用的上下文而不是HttpContext