分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

Asp.Net Core获取请求上下文HttpContext

发布时间:2023-09-06 02:32责任编辑:沈小雨关键词:暂无标签

一、注入HttpContextAccessor

ASP.NET Core中提供了一个IHttpContextAccessor接口,HttpContextAccessor 默认实现了它简化了访问HttpContext。

它必须在程序启动时在IServicesCollection中注册,这样在程序中就能获取到HttpContextAccessor,并用来访问HttpContext。

services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();

二、获取HttpContextAccessor

下面来实际做一个操作,获取 HttpContextAccessor。

新建一个ASP.NET Core Web 应用程序,选择Web 应用程序。 身份验证勾选为不进行身份验证。

然后在HomeController 加入如下代码:

 ???public class HomeController : Controller ???{ ???????private IHttpContextAccessor _accessor; ???????public HomeController(IHttpContextAccessor accessor) ???????{ ???????????_accessor = accessor; ???????} ???????public IActionResult Index() ???????{ ???????????var httpcontext = _accessor.HttpContext; ???????????return View(); ???????} ???}

这样就能获取到 HttpContext

运行以后就能获取到 HttpContext 对象。上面也说到,必须在程序启动时注入才能获取到HttpContextAccessor。

三、实现HttpContext的全局使用。

public class MvcContext{public static IHttpContextAccessor Accessor; ???public static HttpContext GetContext() ???{ ???????return Accessor.HttpContext; ???}}

在配置中保存IHttpContextAccessor,用于获取上下文

 ?????public void Configure(IApplicationBuilder app, IHostingEnvironment env,IServiceProvider serp, IHttpContextAccessor ?accessor) ???????{ ???????? ??MvcContext.Accessor = accessor; ???????????if (env.IsDevelopment()) ???????????{ ???????????????app.UseBrowserLink(); ???????????????app.UseDeveloperExceptionPage(); ???????????} ???????????else ???????????{ ???????????????app.UseExceptionHandler("/Home/Error"); ???????????} ???????????app.UseStaticFiles(); ???????}

更多使用说明可以参考:http://www.cnblogs.com/linezero/p/6801602.html

更多:

Asp.Net Core 404处理

EF Core中执行Sql语句查询操作之FromSql,ExecuteSqlCommand,SqlQuery

Asp.Net Core IIS发布后PUT、DELETE请求错误405.0 - Method Not Allowed 因为使用了无效方法(HTTP 谓词)

Asp.Net Core获取请求上下文HttpContext

原文地址:https://www.cnblogs.com/tianma3798/p/10361644.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved