我需要访问HttpContext
在页面 (.cshtml) 中,特别是请求,然后是 cookie。尽管可用,HttpContextAccessor
总是有一个null存储在其中的值HttpContext
财产。
任何想法将不胜感激。
提前致谢。
编辑:我使用的 Blazor 版本是:0.7.0。
将以下内容添加到 Blazor.Web.App.Startup.cs:
services.AddHttpContextAccessor();
你还需要这个<component-name>.cshtml
@using Microsoft.AspNetCore.Http
@inject IHttpContextAccessor httpContextAccessor
注意:在编写此答案时,访问 HttpContext 是按照上述方式完成的。从那时起,Blazor 一直在快速发展,并发生了根本性的变化。上面描述的用法肯定已被弃用,但是,如果您从 .cshtml 页面访问 HttpContext,您仍然可以执行上述操作,这是合法且正确的。这并没有改变...因此,您可以访问 HttpContext 的唯一位置(甚至无需将 IHttpContextAccessor 添加到 DI 容器)是 _Host.cshtml 文件,它是一个 Razor Pages 文件,扩展名为 .cshtml。当这个文件中的代码被执行时,Blazor还没有诞生,这个文件的执行将服务于Blazor Server App。请参见这个答案 https://stackoverflow.com/a/59538319/6152891至于如何正确地做到这一点...
希望这可以帮助...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)