ASP.NET Core-如何使用HttpContext
2021-04-20 16:26
标签:c项目 view ogg 自己 int factory 注册 singleton iap 在ASP.NET Core中要如何使用HttpContext呢,下面就来具体学习ASP.NET Core HttpContext。 ASP.NET Core中提供了一个IHttpContextAccessor接口,HttpContextAccessor 默认实现了它简化了访问HttpContext。 它必须在程序启动时在IServicesCollection中注册,这样在程序中就能获取到HttpContextAccessor,并用来访问HttpContext。 下面来实际做一个操作,获取 HttpContextAccessor。 在HomeController 加入如下代码: 这样就能获取到 HttpContext。上面也说到,必须在程序启动时注入才能获取到HttpContextAccessor。 大家在ASP.NET 中大量用 HttpContext.Current获取HttpContext ,现在ASP.NET Core已经不这么做了。 不过如果你还是想用静态 HttpContext.Current ,降低迁移旧程序的成本,还是可以实现的。 新建一个静态 HttpContext 类 然后接着再添加一个扩展类。 接着就可以在Startup 类中进行调用。 默认情况下如果在MVC项目中直接调用 UseStaticHttpContext() 即可。 在没有注入 HttpContextAccessor的项目中,还需在ConfigureServices 方法中调用 然后就可以在其他地方使用HttpContext.Current。 这里演示的是在Controller 中调用,其实更多的是在其他地方调用,如中间件及一些自己写的Service。 Controller 中其实可以直接使用HttpContext,ControllerBase类中有一个HttpContext 属性。 ASP.NET Core-如何使用HttpContext 标签:c项目 view ogg 自己 int factory 注册 singleton iap 原文地址:https://www.cnblogs.com/fanfan-90/p/12258279.html注入HttpContextAccessor
services.AddSingleton
获取HttpContextAccessor
public class HomeController : Controller
{
private IHttpContextAccessor _accessor;
public HomeController(IHttpContextAccessor accessor)
{
_accessor = accessor;
}
public IActionResult Index()
{
var httpcontext = _accessor.HttpContext;
return View();
}
}
实现HttpContext.Current
public static class HttpContext
{
private static IHttpContextAccessor _accessor;
public static Microsoft.AspNetCore.Http.HttpContext Current => _accessor.HttpContext;
internal static void Configure(IHttpContextAccessor accessor)
{
_accessor = accessor;
}
}
public static class StaticHttpContextExtensions
{
public static void AddHttpContextAccessor(this IServiceCollection services)
{
services.AddSingleton
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
app.UseStaticHttpContext();
services.AddHttpContextAccessor();
public IActionResult Index()
{
var statichttpcontext = HttpContextDemo.HttpContext.Current;
return View();
}
文章标题:ASP.NET Core-如何使用HttpContext
文章链接:http://soscw.com/index.php/essay/77202.html