c0m*_*age 2 asp.net asp.net-core
我在这里读了一些帖子,似乎 System.Web 和 HttpContext.Current 已从 .net core 中删除。我在我的startup.cs中添加以下内容
services.addSingleton<IHttpContextAccessor, HttpContextAccesor>();
将 HttpContext.Current 添加到我的类中不起作用
在我的类库中,我将 Microsoft.AspNetCore.http 安装到我的依赖项中。我添加为 DI
public MyClass(IHttpContextAccessor _httpContextAccessor) {
httpContextAccessor = _httpContextAccessor;
}
Run Code Online (Sandbox Code Playgroud)
在我的 cs 代码中,旧代码以
if(HttpContext.Current != null && HttpContext.Current.Application["Test"] != null])
Run Code Online (Sandbox Code Playgroud)
替代品是什么,到目前为止还不起作用
httpContextAccessor.HttpContext.Session != null
Not sure what is the equivalent to HttpContext.Current.Application["Test"]
Run Code Online (Sandbox Code Playgroud)
谢谢
首先,在Startup.cs中注册服务,
services.AddHttpContextAccessor();
Run Code Online (Sandbox Code Playgroud)
然后你可以在任何类中调用下面的代码,它替换 HttpContext.Current
private HttpContext _httpContext => new HttpContextAccessor().HttpContext;
Run Code Online (Sandbox Code Playgroud)
您可以使用_httpContext.Items[]而不是应用程序。(生产前测试一下)
| 归档时间: |
|
| 查看次数: |
3283 次 |
| 最近记录: |