我有WCF服务,并且在使用MEF的该服务中,我正在调用运行时类库。
我已经在此类库中实现了DI(castle Windsor),它在所有请求中都可以正常运行,但有时会返回错误,如下所示
“ HttpContext.Current为null。PerWebRequestLifestyle只能在ASP.Net中使用”
我们已经应用了所有互联网解决方案,例如安装Asp.net功能,将DI生命周期从 LifestylePerWebRequest 更改为 scope , hibridgeLifeStyle 等 但下面找不到合适的结果是我的代码
谁能帮助我解决这个问题。因为我是DI的新手,所以这不是生命周期问题,MEF问题或线程问题,因为我正在将该类自由调用为线程
预先感谢
答案 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