如何在 Kestrel 中获取 Span<Byte> 到 HTTP 请求 header
How to get the Span<Byte> to the HTTP request header in Kestrel
.NET Core 现在拥有高效的 Span<T>
和相关类型,可以实现更高效的内存操作。此外,还有一些基本的解析原语可用于处理 Span<Byte>
而无需解码 UTF-8。
Kestrel 可以在不使用 string
的情况下处理请求。
ASP.NET Core 的用户,但是,获取请求 header(请求路径和 HTTP headers)仅作为 string
s。
有没有办法把它也变成 Span<Byte>
?我有一个非常 low-level 的应用程序,理想情况下我希望某些请求不进行内存分配。我也很好奇。
不是这个级别,headers 的抽象是 IHeaderDictionary。这些在你的代码运行之前被解析,我们给你一个 StringValues。围绕将其公开为 byte[]
/Span<byte>
进行了各种讨论,但目前还没有任何结果。
.NET Core 现在拥有高效的 Span<T>
和相关类型,可以实现更高效的内存操作。此外,还有一些基本的解析原语可用于处理 Span<Byte>
而无需解码 UTF-8。
Kestrel 可以在不使用 string
的情况下处理请求。
ASP.NET Core 的用户,但是,获取请求 header(请求路径和 HTTP headers)仅作为 string
s。
有没有办法把它也变成 Span<Byte>
?我有一个非常 low-level 的应用程序,理想情况下我希望某些请求不进行内存分配。我也很好奇。
不是这个级别,headers 的抽象是 IHeaderDictionary。这些在你的代码运行之前被解析,我们给你一个 StringValues。围绕将其公开为 byte[]
/Span<byte>
进行了各种讨论,但目前还没有任何结果。