2017-03-14 49 views
1

我有库使用System.Web.HttpContext,我正在迁移到.net核心。想知道我应该用于IHttpContext和HttpApplication.net核心等效IHttpContext和HttpApplication

+1

搜索你的问题的标题在谷歌给我们的第一个结果此[迁移HTTP处理程序和模块ASP.NET核心中间件(https://docs.microsoft.com/en -us/ASPNET /核心/迁移/ HTTP模块)。也许这可以帮助 – Pikoh

+0

是的,我看过这个文件,可能是我不清楚。我在.net内核找不到System.Web.HttpContext和HttpApplication(完全在.net内核中删除)的属性。例如:HttpContext.Server HttpApplication.OnError事件 – My3

+0

使用'ASP.NET Core',我们不再拥有'System.Web.dll'或任何与之直接相关的东西。相反,我们有中间件,这是可插拔的部件,可以紧密结合在一起。 Pankaj正确地处理了“IHttpContextAccessor”部分。而对于'HttpApplication'根本就不存在。 –

回答

0

您可以使用IHttpContextAccessor访问上下文。要使用IHttpContextAccessor,请使用以下步骤。在Startup.cs

的ConfigureServices方法
public void ConfigureServices(IServiceCollection services) 
{ 
    services.TryAddSingleton<IHttpContextAccessor, HttpContextAccessor>(); 
    //..... 
} 

  1. 注册依赖 地方要求其

  2. 进样IHttpContextAccessor。例如

    public void MyController(IHttpContextAccessor context) 
    { 
        var user = context.HttpContext.User 
    }