asp.net-core - 如何获得跨度到 Kestrel 中的 HTTP 请求标头
问题描述
.NET Core 现在具有Span<T>
允许更高效的内存操作的高效和相关类型。此外,还有一些基本的解析原语Span<Byte>
无需解码 UTF-8 即可处理。
Kestrel 可以在不使用string
我认为的情况下处理请求。
但是,ASP.NET Core 的用户仅获取请求标头(请求路径和 HTTP 标头)为string
s。
有没有办法得到它Span<Byte>
?我有一个非常低级的应用程序,理想情况下我希望某些请求不分配内存。我也只是好奇。
解决方案
不在此级别,标题的抽象是 IHeaderDictionary。这些是在您的代码运行之前解析的,我们为您提供一个 StringValues。byte[]
围绕将其公开为/进行了各种讨论,Span<byte>
但目前还没有任何结果。
推荐阅读
- php - Drupal 7 在使用 postgres 为模块创建模式时获取 PDOException
- python - discord.py:如何获取错误的实际路径?
- json - Newman - 获得与手动 Postman 导出相同的测试运行结果 json
- offset - OpenRefine:如何偏移值?(前一行到下一行)
- pine-script - 安全时间框架对 pointfigure 值有什么作用?
- reactjs - 反应原生,从一个组件到另一个组件的变量
- location - 如何连接到 Google 的 SUPL 服务器并获取数据?是否有相同的文档?
- r - 基于时间分组箱形图和基于类别着色
- python - Tkinter 上“复选框”和“下拉列表”的组合
- python - 如何使用 PySpark 的 ChiSqSelector 检查选定的功能?