在ASP.NETCore5.0中访问HttpContext的方法步骤
这篇文章主要介绍了在ASP.NET Core5.0中访问HttpContext的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 ASP.NET Core 应用通过 IHttpContextAccessor 接口及其默认实现 HttpContextAccessor 访问 HttpContext。 只有在需要访问服务内的 HttpContext 时,才有必要使用 IHttpContextAccessor。 通过 Razor Pages 使用 HttpContext Razor Pages PageModel 公开 HttpContext 属性: public class AboutModel : PageModel
通过 Razor 视图使用 HttpContext Razor 视图通过视图上的 RazorPage.Context 属性直接公开 HttpContext。 下面的示例使用 Windows 身份验证检索 Intranet 应用中的当前用户名: @{ 通过控制器使用 HttpContext 控制器公开 ControllerBase.HttpContext 属性: public class HomeController : Controller
通过中间件使用 HttpContext 使用自定义中间件组件时,HttpContext 传递到 Invoke 或 InvokeAsync 方法,在中间件配置后可供访问: public class MyCustomMiddleware 通过自定义组件使用 HttpContext 对于需要访问 HttpContext 的其他框架和自定义组件,建议使用内置的依赖项注入容器来注册依赖项。 依赖项注入容器向任意类提供 IHttpContextAccessor,以供类在自己的构造函数中将它声明为依赖项: public void ConfigureServices(IServiceCollection services) 如下示例中: UserRepository 声明自己对 IHttpContextAccessor 的依赖。 当依赖项注入容器解析依赖链并创建 UserRepository 实例时,就会注入依赖项。 public class UserRepository : IUserRepository
从后台线程访问 HttpContext HttpContext 不是线程安全型。 在处理请求之外读取或写入 HttpContext 的属性可能会导致 NullReferenceException。 要使用 HttpContext 数据安全地执行后台工作,请执行以下操作: 在请求处理过程中复制所需的数据。 将复制的数据传递给后台任务。 要避免不安全代码,请勿将 HttpContext 传递给执行后台工作的方法。 而是传递所需要的数据。 在以下示例中,调用 SendEmailCore,开始发送电子邮件。 将 correlationId 传递到 SendEmailCore,而不是 HttpContext。 代码执行不会等待 SendEmailCore 完成: public class EmailController : Controller
到此这篇关于在ASP.NET Core5.0中访问HttpContext的方法步骤的文章就介绍到这了,更多相关ASP.NET Core 访问 HttpContext内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! (编辑:焦作站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |