您的位置:首页 > 编程语言 > ASP

Asp.Net Core获取当前上线文对象

2017-08-18 19:12 731 查看
HttpContext简介

.Net Core中的HttpContext上下文是个抽象类,命名空间为Microsoft.AspNetCore.Http

所在程序集

\netstandard2.0\Microsoft.AspNetCore.Http.Abstractions.dll


 定义代码:

namespace Microsoft.AspNetCore.Http
{
//
// 摘要:
//     Encapsulates all HTTP-specific information about an individual HTTP request.
public abstract class HttpContext
{
protected HttpContext();


一、在Mvc 控制器实例中包含了上下文对象

public IActionResult Index()
{
HttpContext _context = this.HttpContext;
return View();
}


二、定义静态的IServiceProvider,全局获取当前请求上下文

1.定义类

public class TestOne
{
public static IServiceProvider ServiceProvider;
public static HttpContext GetContext()
{
object factory = ServiceProvider.GetService(typeof(Microsoft.AspNetCore.Http.IHttpContextAccessor));

HttpContext context = ((IHttpContextAccessor)factory).HttpContext;

return context;
}
}


2.在配置文件Startup中,获取

// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env, IServiceProvider svp)
{
TestOne.ServiceProvider = svp;
.....
}


3.再其他任何地方使用

public IActionResult Index()
{
HttpContext _context = this.HttpContext;
if (_context == TestOne.GetContext())
return Content("上线文相同");
return View();
}


更多:

Asp.Net Core 视图整理(一)

Asp.Net Core异常处理整理

.Net Core配置文件读取整理
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: