错误:HttpContext.Current为null。 | PerWebRequestLifestyle |温莎城堡|穿线

问题描述 投票:-2回答:1

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

我已经在这个类库中实现了DI(城堡温莎),它在所有请求中都可以正常工作,但很快就会在下面返回错误

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

我们已经应用了所有互联网解决方案,如安装Asp.net功能,将Lifestyle Lifecycle从LifestylePerWebRequest更改为范围,hibridgeLifeStyle等但未找到正确的结果,下面是我的代码

enter image description here


enter image description here

任何人都可以帮我解决这个问题。因为我是DI的新手,所以这不是生命周期问题或MEF问题或线程问题,因为我在线程中调用此类libreary

提前致谢

c# wcf castle-windsor mef property-injection
1个回答
0
投票

您需要在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

© www.soinside.com 2019 - 2024. All rights reserved.