3
A
回答
4
直接在你的依赖注射HttpContext
是不推荐的方法。相反,你应该使用IHttpContextAccessor
:
public class MyComponent : IMyComponent {
private readonly IHttpContextAccessor contextAccessor;
public MyComponent(IHttpContextAccessor contextAccessor) {
this.contextAccessor = contextAccessor;
}
public string GetDataFromSession() {
return contextAccessor.HttpContext.Session.GetString(*KEY*);
}
}
这就是说,它通常并不需要在控制器,在那里你可以使用Context
财产容易检索当前HttpContext
。
当然,由于创建控制器的方式,当您实例化控制器时,此属性不可用,因此不要尝试从构造函数访问它。在这种情况下,尝试重构代码以避免在那里访问HttpContext
或使用IHttpContextAccessor
作为替代。
相关问题
- 1. ASP.NET 5依赖注入,注入参数
- 2. 注入HttpContext始终为空
- 3. 在ASP.NET核心中,你如何将HttpContext注入到扩展方法中?
- 4. Asp.Net-5类库(包)测试注入IOptions
- 5. ASP.Net Control.OnInt和HttpContext
- 6. asp.net 5依赖注入在多个项目中
- 7. 如何在ASP.NET 5中动态创建和注入服务?
- 8. httpcontext中的asp.net缓存
- 9. 发送ASP.NET MVC HttpContext到Web Api HttpContext
- 10. MVC 5 UrlHelper没有HTTPContext?
- 11. 假的HttpContext? (ASP.NET MVC)
- 12. ASP.NET MVC 5同步HttpContext和Parallel.For(每个)它可以工作吗?
- 13. Rails 5 SQL注入
- 14. 简单的注射器:如何注入HttpContext?
- 15. 注册处理程序在ASP.NET 5
- 16. ASP.NET 5中的依赖注入和对象处置
- 17. ASP.NET 5依赖注入 - 激活属性在哪里?
- 18. 在引导后注入实例到StructurMap HttpContext作用域
- 19. asp.net httpContext会话管道
- 20. ASP.Net HttpContext的IsAuthenticated错误
- 21. ASP.NET身份 - 的HttpContext有GetOwinContext
- 22. asp.net mvc httpcontext访问选项
- 23. ASP.NET HttpContext缓存在插入后立即删除
- 24. 在ASP.NET MVC依赖注入
- 25. 防止SQL注入在asp.net
- 26. 在ASP.NET MVC 5中嵌入日期格式5
- 27. Java EE 5依赖注入?
- 28. ASP.NET 5依赖注入 - [FromServices]属性只能在控制器中工作吗?
- 29. 在ASP.Net中注入完整模块MVC
- 30. 在Asp.Net核心中的属性注入
你想达到什么目的? –