我的问题与此有关:WebApi equivalent for HttpContext.Items with Dependency Injection。
我们希望使用HttpContext.Current在WebApi区域中使用Ninject注入一个类。
我担心的是,这可能是非常危险的,就像WebApi (一切?)就是异步。
如果我在这些问题上错了,请纠正我,这就是我到目前为止所调查的:
Task<HttpResponseMessage> ExecuteAsync =>每个请求都是异步=>,您不能在操作方法中使用HttpContext.Current。这甚至可能发生,更多的请求是在同一个线程上执行的。IHttpControllerActivator与同步方法IHttpController Create一起使用。这就是ninject创建Controller及其所有依赖项的地方。HttpContext.Current是非常危险的,并且可能会有意想不到的结果。我在StackOverflow上看到了很多被接受的答案,这些都说明了这一点。在我看来,这可以工作一段时间,但在负荷下会失败。为了解释我为什么要注入HttpContext内容:
ConfigurationProvider中)如果我完全错了,或者我的建议是正确的,请给我你的意见,因为这个主题似乎很复杂。
发布于 2016-10-10 15:47:10
我使用的是一个web,它使用异步/等待方法。
还使用
1) HttpContext.Current.Server.MapPath
2) System.Web.HttpContext.Current.Request.ServerVariables这是一个很好的工作时间,这突然打破了没有代码更改。
花了很多时间回到以前的版本,找到了问题的关键所在。
< httpRuntime targetFramework="4.5.2" /> under system.web我在技术上不是专家。但是我建议将键添加到您的web配置中,并给它一个GO。
https://stackoverflow.com/questions/24956178
复制相似问题