如何在服务器端 Blazor 中访问 HttpContext?

2023-12-31

我需要访问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(使用前将#替换为@)

如何在服务器端 Blazor 中访问 HttpContext? 的相关文章

  • PHP cookie 和会员安全

    我创建了一个论坛 该论坛在登录时使用 PHP 会话来确定用户 ID 并使用 cookie 来进行日志登录 我想我有两个问题 这是最好 最安全的方法吗 可以使用javascript通过地址栏手动添加cookie 这是一个巨大的安全风险 有没有
  • 在Android中存储和恢复cookie(持久cookie存储)

    搜索了很多 我有一个应用程序 应用程序登录服务器并接收一些cookie 然后它可以使用它们执行一些POST请求 例如获取用户个人资料 我想在会话之间存储它们 这意味着我可以重新启动设备 运行应用程序并获取配置文件 而无需额外登录 或者 换句
  • 使用 Rails 自动登录?

    我正在尝试使用 Rails 的 Restful Authentication 插件建立一个简单的身份验证系统 我只是想知道它是如何工作的 b c 我似乎无法弄清楚 cookie 的要求是什么 以及如何做到这一点浏览器始终会记住您 6 个多月
  • Play 框架 2.0:在 Http.Context 中存储值

    我正在尝试在 Play 框架中的 scalaquery 中实现 基于请求 的会话 我使用 scalaquery 创建一个会话 并尝试将其存储在当前的 http 上下文中 如下所示 def withTransaction A bp BodyP
  • 为什么 Chrome 审核建议我最小化 Cookie 大小?

    如何最小化请求的 cookie 大小 Chrome 似乎 警告我 我的 cookie 大小为 41B 这根本不是很多 但是它警告我有什么原因吗 这是一个 PHPSESSID cookie 我真的不知道如何最小化它 有任何想法吗 我的请求响应
  • 在使用 Azure Active Directory 的 WASM Blazor 中,如何在开发过程中绕过身份验证

    Microsoft 在其演练中很好地介绍了根据 Azure Active Directory 对 WASM Blazor 进行身份验证 他们没有涵盖的是之后的开发工作流程 作为一个已编译的应用程序 对 UI 的每次更改都是一个痛苦的停止 重
  • 删除 servlet 中的 cookie 时出现问题

    我尝试使用以下代码删除 servlet 中的 cookie Cookie minIdCookie null for Cookie c req getCookies if c getName equals iPlanetDirectoryPr
  • 如何在之前的 Facebook 身份验证后自动安全地让用户登录?

    用户抱怨他们必须过于频繁地登录 如果身份验证完全基于 Facebook OAuth 那么用户如何在下次访问该页面时自动登录 用户流程示例 用户点击 使用 Facebook 登录 用户通过 Facebook 进行身份验证并被重定向回网站 用户
  • Asp.Net Mvc 无法注销

    这是我的登录代码 var expire DateTime Now AddDays 7 Create a new ticket used for authentication var ticket new FormsAuthenticatio
  • 当用户再次访问同一页面时保持登录状态?

    目前我正在使用会话来登录用户 但是当我关闭浏览器并再次打开它时 我必须再次登录 你如何让用户在 2 周内保持登录状态 那么是通过cookie吗 那么您想要 在这台计算机上记住我 选项吗 这是一种与语言无关的方法 创建一个至少包含以下内容的数
  • 如何在 https 连接上检索 cookie?

    我试图将 cookie 保存在使用 SSL 但始终返回 NULL 的 URL 中 private Map
  • 如何用javascript正确读取php cookies

    考虑这个 php 和 javascript 代码 然后我在控制台中看到的是 utma 111872281 291759993 1444771465 1445374822 1445436904 4 utmz 111872281 1444771
  • Blazor 与 Razor

    随着 Blazor 的发明 我想知道这两种语言之间是否存在显着的效率 无论是在代码创建方面还是在代码的实际编译 执行方面 https github com SteveSanderson Blazor https github com Ste
  • Blazor:单击按钮时调用服务器方法?

    我创建了一个示例 Blazor 项目 该脚手架有两个示例 1 调用网页中存在的 C 方法 计数器 2 在网页初始化开始时调用服务器方法 天气表 但没有任何调用服务器方法并在单击按钮时获取结果的示例 那可能吗 例如 我可以将这样的方法添加到
  • 如何设置第三方 cookie

    我如何设置第三方 cookie 我有要求设置cookie 并且cookie将在访问的网站中启用 就像我在访问cde com或def com或ghi com时在abc com中设置cookie一样 所以设置的cookie将在所有网站上获取 我
  • 如何从代码后面的 Blazor WebAssembly 项目打开浏览器窗口/选项卡:

    我正在将 UWP 应用程序转换为托管 ASP NET Core 的 Blazor WebAssembly 我的标记代码位于 Index razor 中 后面的代码位于 Index razor cs 中 在 UWP 项目中 我通过 oncli
  • ServiceStack 身份验证中 httponly ss-tok bearerToken cookie 的意义是什么

    我从安全角度理解 Set Cookie 响应标头值的 httponly 标志的概念并防止 XSS 攻击 我不明白的是 ServiceStack 对保存 bearerToken 的 ss tok cookie 做了什么 根据服务堆栈文档 ht
  • Visual Studio 2019 在哪里可以找到 .net core 3.1 的 WebAssembly 模板

    我正在使用最新的 16 4 2 日期为 2020 年 1 月 8 日 Visual Studio 2019 当我尝试创建 Blazor WebAssembly 解决方案时 尽管 blazor 应用程序 的描述包含 服务器或 WebAssem
  • 从基本控制器继承 LINQ-to-SQL 数据上下文

    我的基本控制器类 BaseController 由面向公众的控制器继承 用于使用 LINQ to SQL 访问请求之间的共享数据上下文 我是否可以通过将数据存储在中来以高效且安全的方式访问我的数据上下文HttpContext Current
  • Blazor WASM(独立)B2C 身份验证与 Azure Function App 身份验证

    我正在开发 Blazor WASM 独立 不是 ASP NET 核心托管 应用程序 该应用程序已与我的 B2C 租赁集成以进行用户身份验证 我能够成功地针对 B2C 进行身份验证 没有出现任何问题 在另一个 Azure 目录中 我有一个启用

随机推荐

  • 订购 PHP 数组

    我有一个 php 数组 带有注释 必须以不同的方式排序 数组内容的顺序应该是这样的 parent child child child parent child child etc 父评论有 parent 0 子评论具有其父评论的 ID 例如
  • 如何在 Ubuntu 上的 GTK3 (GI) 和 Python 3 中获取剪贴板内容

    在 Python 2 中 通过我的机器 Ubuntu 12 10 中安装的内容 我可以执行以下操作 import gtk cb gtk clipboard get content cb wait for text 从剪贴板获取文本 然而 在
  • 规避“catch_warnings”上下文管理器错误,该错误会重置警告注册表,导致无限打印警告

    在我正在使用的模块深处 xarray 但这并不重要 catch warnings上下文管理器导致警告被一遍又一遍地打印 而不是像它应该的那样只打印一次 如果没有这样的上下文管理器 行为将如预期 cat mwe py usr bin env
  • 如何将 g++ 从 MinGW 添加到 PATH

    我在 Windows 10 上使用 Visual Studio Code 并尝试构建一个程序 称为Bus从源文件Bus cpp 与来自 MinGW 的 g 我使用从之前的线程中读取的各种方法修改了tasks json 文件 我提供了task
  • PHP 和“打开”mysqli

    我无法找到有关如何 打开 mysqli 的文档 我正在运行 OS X SL 据我了解 由于安装了 php5 mysqli 扩展也应该已经存在 这就像在 php ini 中添加 LoadModule 行一样简单吗 如果我需要重新编译 php
  • 使用 Google API 的 Chrome 清单

    我需要一些关于如何获取扩展的 chrome 清单以允许服务器和应用程序之间进行 Google API 对话的建议 当我直接指向应用程序 而不是扩展 时 应用程序加载正常 但是我的问题是 当我将其作为扩展加载时 出现以下错误 Refused
  • Oracle 查询作为 SSIS 中的源定义了错误的数据类型

    我有一个有点复杂的查询 我想将其用作 SSIS 包中的源 我创建 OLE DB 源 将访问模式指定为 SQL 并将查询粘贴到命令文本框中 当我单击 预览 时 示例数据会返回 一切看起来都很好 但是 当我尝试运行该包时 我收到 外部列与数据源
  • 当我使用 -std=gnu99 编译时,我还应该定义 _GNU_SOURCE 吗?

    我使用了一些 GNU 扩展 并意识到如果我将 gnu99 设置为 C 标准来使用 我可以省略 define GNU SOURCE gnu99 是否暗示 GNU SOURCE 或者使用它是否仍然更安全或强制以避免问题 您应该区分语言和库功能
  • IE7 中的开发人员工具可查看控制台日志消息

    在 IE 8 中 我看到了一个开发人员工具部分 并且能够访问其 javascript 控制台并查看我在其中编写的控制台日志 但我在 IE 7 中找不到这样的东西 它在哪里 有吗 我只想在 IE 7 中查看控制台日志命令的输出 开发人员工具已
  • 为什么LOOP在8086上比DEC,JNZ快?

    我的教授声称 LOOP 在 8086 上更快 因为只获取一条指令而不是两条指令 就像dec cx jnz 所以我认为我们通过避免每次迭代的额外获取和解码来节省时间 但在讲座的早些时候 他还提到 LOOP 在底层与 DEC JNZ 做同样的事
  • 组织大型 javascript 文件 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我已经开始为网站积累相当多行 Javascript 代码 到目前为止 所有内容都在一个文件中 并且该文件变得无法维护 如果一行中有错误 整个文件
  • Django 的 javascript 中的模板标签

    我的应用程序urls py is from django urls import path from import views app name javascript urlpatterns path create table views
  • jQuery 设置 flash wmode 参数

    我想知道是否有任何 jQuery 插件可用于在运行时将 wmode 更改为透明 和wibiya类似的东西 我尝试谷歌搜索 但找不到任何确切的插件来完成这项工作 我找到的唯一资源是 http www onlineaspect com 2009
  • Android - 如何获取 EditText(数字)然后将其转换为整数以用于数学?

    我想知道如何获取用户可以在其中输入数字的 EditText 区域 然后将其设为整数 以便可以在程序中使用它进行加法 减法 除法等 基本上我需要测试输入能够在代码中的计算器中使用 然后需要将其放入 TextView 或字符串中 以便用户可以看
  • 将企业库注册到 GAC 后无法解决类型运行时错误

    我致力于将企业库程序集注册到全局程序集缓存 GAC 中 我使用的是用自己的密钥签名的企业库 5 0 版 并且我在许多 NET 4 0 应用程序中使用这些程序集 成功将企业库程序集注册到 GAC 后 应用程序启动并显示以下消息 无法解析类型
  • AppDomain.CurrentDomain.SetupInformation.PrivateBinPath 为空

    当我启动只有一个 AppDomain 的应用程序时 AppDomain CurrentDomain SetupInformation PrivateBinPath一片空白 即使我设置了探测路径MyApp exe config如下所示 我本以
  • 替换字符串中最后一次出现的字符

    javascript 中有没有一种简单的方法来替换给定字符串中最后一次出现的 下划线 你不需要 jQuery 只需要一个正则表达式 这将删除最后一个下划线 var str a b c console log str replace 1 a
  • Django:更改可选 ImageField 的 url

    通过信号我检查我的模型是否属于一个类别 如果是 我想将可选的 ImageField 更改为特定的 url 如何才能实现这一目标 下面的代码不起作用 我收到 无法设置属性 错误 因为它是可选字段 并且在保存时它是空白的 这是我的示例模型 cl
  • 如何使用shutil让python文件在计算后进行自我复制?

    所以我有一个 python 程序 它将素数写入 csv 文件 我现在希望我的 python 文件在运行所有内容后制作自身的副本 作为我调整原始文件时的备份 到目前为止 我通过让 python 程序创建一个新的 py 文件 然后在其中写入所有
  • 如何在服务器端 Blazor 中访问 HttpContext?

    我需要访问HttpContext在页面 cshtml 中 特别是请求 然后是 cookie 尽管可用 HttpContextAccessor总是有一个null存储在其中的值HttpContext财产 任何想法将不胜感激 提前致谢 编辑 我使