我有WCF服务,在使用MEF的服务中,我正在调用运行时类库。
我已经在这个类库中实现了DI(城堡温莎),它在所有请求中都可以正常工作,但很快就会在下面返回错误
“HttpContext.Current为null.PerWebRequestLifestyle只能在ASP.Net中使用”
我们已经应用了所有互联网解决方案,如安装Asp.net功能,将Lifestyle Lifecycle从LifestylePerWebRequest更改为范围,hibridgeLifeStyle等但未找到正确的结果,下面是我的代码
任何人都可以帮我解决这个问题。因为我是DI的新手,所以这不是生命周期问题或MEF问题或线程问题,因为我在线程中调用此类libreary
提前致谢
您需要在ASP.Net compat模式下运行WCF才能访问HttpContext。不知道为什么你需要它,因为那样你只能在asp.net compat模式下运行IIS上的WCF服务,而不是像Windows服务那样在不同的托管环境中运行。
更多信息:https://docs.microsoft.com/en-us/dotnet/framework/wcf/feature-details/wcf-services-and-aspnet,它还告诉你应该使用的上下文而不是HttpContext