Art*_*zzo 11 c# asp.net httpcontext asp.net-core
在我看过IHttpContextAccessor
注射的所有例子中,它被设置为Singleton.
例子:
如何在ASP.NET Core 1.0的DI中的Startup类中添加IHttpContextAccessor? 将IHttpContextAccessor注入ApplicationDbContext ASP.NET Core 1.0 .NET Core IHttpContextAccessor问题
我发现它有点奇怪,因为它HttpContext
看起来像是映射到请求的东西.AddScoped
在这种情况下不是更合适吗?
Singleton真的是推荐的方式吗?我没有看到什么吗?
Nko*_*osi 10
Singleton真的是推荐的方式吗?
是
根据与GitHub上提出的问题相关的评论
https://github.com/aspnet/Hosting/issues/793#issuecomment-224828588
在该示例中,您将其注册为单例.它不应该是一个范围的实例吗?
单身是一件好事,因为后备存储是异步本地的.
后来得到了回复
https://github.com/aspnet/Hosting/issues/793#issuecomment-224924030
实际上,如果您在.NET Core上将其注册为Transient,那么它无法正常工作,因为.NET Core的实现使用的是AsyncLocal,它依赖于实例变量来跟踪TLS存储槽.因此必须在.NET Core上注册为单例.
归档时间: |
|
查看次数: |
2543 次 |
最近记录: |