首页
学习
活动
专区
圈层
工具
发布

【译】.NET 6 网络改进

由于任何 HTTP 请求都可能通过 Alt-Svc 标头无意中升级到 HTTP/3 并开始失败,因此我们选择在此版本中默认禁用 HTTP/3 功能。...添加了未经验证的 HTTP 标头枚举 (runtime/dotnet#35126)。更改将新的 API HttpHeaders.NonValidated 添加到标头集合中。...它允许在收到标头时检查标头(无需进行清理),它还跳过所有解析和验证逻辑,不仅节省了 CPU 周期,还节省了分配。...诊断 我们收到了很多关于 HttpClient 在 Activity 创建 (dotnet/runtime#41072) 和自动跟踪标头注入 (dotnet/runtime#35337) 方面的默认行为的问题...PassThroughPropagator 使用来自根 Activity 的值注入跟踪标头,即透明地执行并发送与应用程序接收到的相同标头值。

1.7K00
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【译】.NET 7 预览版 1 中的 ASP.NET Core 更新

    HTTP/3:HTTP/3 支持作为 .NET 6 中的预览功能提供。对于 .NET 7,我们希望完成它并使其成为默认启用的受支持功能。...在未来的预览版中,您可以期待在我们的 HTTP/3 支持中看到高级 TLS 功能和更多性能改进。 最小 API:添加对端点过滤器和路由分组的支持,作为最小 API 的核心原语。...在 ValidationAttribute 中使用依赖注入 更快的标头解析和写入 gRPC JSON 转码 开始使用 要开始使用 .NET 7 Preview 1 中的 ASP.NET Core,请安装...更快的标头解析和写入 我们对 HTTP/2 和 HTTP/3 的标头解析和写入性能进行了多项改进。...有关详细信息,请参阅以下拉取请求: HTTP/2:提高传入标头性能 HTTP/3:优化验证和设置传入的标头 HTTP 标头枚举器直接移至下一个 gRPC JSON 转码 gRPC JSON 转码允许 gRPC

    5.1K10

    CA1710:标识符应具有正确的后缀

    foreach(SomeType x in SomeDictionary.Values) { } DataSet 对象由 DataTable 对象(由 System.Data.DataColumn 和...包含特定的 API 图面 排除间接基类型 其他所需的后缀 可以仅为此规则、为所有规则或为此类别(命名)中的所有规则配置这些选项。 有关详细信息,请参阅代码质量规则配置选项。...例如,若要指定规则应仅针对非公共 API 图面运行,请将以下键值对添加到项目中的 .editorconfig 文件: dotnet_code_quality.CAXXXX.api_surface = private...示例: 选项值 总结 dotnet_code_quality.CA1710.additional_required_suffixes = MyClass->Class 从 MyClass 继承的所有类型都需要具有...dotnet_code_quality.CA1710.additional_required_suffixes = MyClass->Class|MyNamespace.IPath->Path 从 MyClass

    1.3K00

    CA1710:标识符应具有正确的后缀

    foreach(SomeType x in SomeDictionary.Values) { } DataSet 对象由 DataTable 对象(由 System.Data.DataColumn 和...包含特定的 API 图面 排除间接基类型 其他所需的后缀 可以仅为此规则、为所有规则或为此类别(命名)中的所有规则配置这些选项。 有关详细信息,请参阅代码质量规则配置选项。...例如,若要指定规则应仅针对非公共 API 图面运行,请将以下键值对添加到项目中的 .editorconfig 文件: dotnet_code_quality.CAXXXX.api_surface = private...示例: 选项值 总结 dotnet_code_quality.CA1710.additional_required_suffixes = MyClass->Class 从 MyClass 继承的所有类型都需要具有...dotnet_code_quality.CA1710.additional_required_suffixes = MyClass->Class|MyNamespace.IPath->Path 从 MyClass

    3000

    CA1710:标识符应具有正确的后缀

    foreach(SomeType x in SomeDictionary.Values) { } DataSet 对象由 DataTable 对象(由 System.Data.DataColumn 和...包含特定的 API 图面 排除间接基类型 其他所需的后缀 可以仅为此规则、为所有规则或为此类别(命名)中的所有规则配置这些选项。 有关详细信息,请参阅代码质量规则配置选项。...例如,若要指定规则应仅针对非公共 API 图面运行,请将以下键值对添加到项目中的 .editorconfig 文件: dotnet_code_quality.CAXXXX.api_surface = private...示例: 选项值 总结 dotnet_code_quality.CA1710.additional_required_suffixes = MyClass->Class 从 MyClass 继承的所有类型都需要具有...dotnet_code_quality.CA1710.additional_required_suffixes = MyClass->Class|MyNamespace.IPath->Path 从 MyClass

    2200

    .NET 6 中的HTTP 3支持

    dotnet团队官方博客发布了一篇HTTP3的文章:HTTP/3 support in .NET 6:https://devblogs.microsoft.com/dotnet/http-3-support-in-dotnet...如果在连接时发生数据包丢失,会影响所有请求。 这个问题称为“队头阻塞”。 由于 QUIC 提供本机多路复用,因此丢失的数据包只会影响已丢失数据的请求,因此在数据包丢失的情况下,它不再具有队头阻塞。...它设计为适用于具有处理网络更改能力的移动设备,并在发生数据包丢失时具有良好的恢复能力。 在. NET 6 中并没有公开.NET QUIC API,目标是在.NET 7 中公开它们。...它可能在未来版本中可用。 Alt-svc HTTP/3 是通过 alt-svc 标头作为从 HTTP/1.1 或 HTTP/2 的升级发现的。...这意味着,在切换到 HTTP/3 之前,第一个请求通常使用 HTTP/1.1 或 HTTP/2。 如果启用了 HTTP/3,则 Kestrel 会自动添加 alt-svc 标头。

    1.4K30

    .NET周刊【11月第2期 2024-11-10】

    发起HTTP请求时,可能会遇到请求头丢失的问题,尤其是像Accept-Language这样的请求头。...HttpClient设计为可复用以提高性能,但共享机制可能导致请求头在多线程请求中意外传递或丢失。本文探讨了这类问题的根源,并提供了解决方案。...通过使用HttpRequestMessage可以更好地控制每个请求的请求头,避免丢失。示例代码展示了在多线程环境下,如何设置和发送请求,确保每个请求独立地设置请求头以获得正确的响应。...转换为DateTime,使用当前系统日期;将DateOnly与系统当前时间或指定DateTime中的时间合并;从DateTime提取日期或时间。....NET 8 和 9 上 DataTable 数据提取方法的性能比较 https://zenn.dev/microsoft/articles/performance-of-datatable-on-dotnet9

    67610

    每周.NET前沿技术文章摘要(2017-05-17)

    global.json 设置运行的版本,内容相同的还有这篇文章 Managing dotnet Core 2.0 and dotnet Core 1.x versioned SDKs on the same...category/asp-net-core/ 点评:这是作者写的Self Descriptive HTTP API in ASP.NET Core系列文章,欢迎关注 Exploring DataTable...-2-0/ 点评:DataTable 重新回归.NET Core, 这篇文章介绍ASP.NET Core里面如何使用DataTable Using ImageSharp to resize images...它非常轻量级也不会入侵诊断的程序,在诊断过程中对诊断的程序影响甚微,可以用PerfView 诊断.NET和..NET Core应用程序的性能问题。...最后,该工具还有一个Dump功能可以生成一个程序内存转储 在Linux上如何收集.net core的 trace data 链接:https://github.com/dotnet/coreclr/blob

    1.3K00

    每周.NET前沿技术文章摘要(2017-05-17)

    设置运行的版本,内容相同的还有这篇文章 Managing dotnet Core 2.0 and dotnet Core 1.x versioned SDKs on the same machine.../ 点评:这是作者写的Self Descriptive HTTP API in ASP.NET Core系列文章,欢迎关注 Exploring DataTable and SqlDBAdapter in...-2-0/ 点评:DataTable 重新回归.NET Core, 这篇文章介绍ASP.NET Core里面如何使用DataTable Using ImageSharp to resize images...它非常轻量级也不会入侵诊断的程序,在诊断过程中对诊断的程序影响甚微,可以用PerfView 诊断.NET和..NET Core应用程序的性能问题。...最后,该工具还有一个Dump功能可以生成一个程序内存转储 在Linux上如何收集.net core的 trace data 链接:https://github.com/dotnet/coreclr/blob

    93960

    .NET 8 中的调试增强功能

    查看请求和响应值(例如标头、cookie、查询字符串和表单值)变得更加容易,现在 HttpRequest 和 HttpResponse 还显示了用户友好的类型摘要,像 HTTP 请求 URL 或 HTTP...最新版本的 gRPC 让您可以更容易地调试来自客户端的 gRPC 调用。现在的 gRPC 调用包含有关其方法、状态、响应标头和尾部的信息。有关请求/响应和流式传输的其他信息取决于 gRPC 调用类型。...例如,API 上的 [Authorize] 属性保存为端点元数据,然后 AuthorizationMiddleware 在处理请求时使用它。 在 .NET 8 中,调试文本已经添加到公共元数据中。...IConfiguration 可以从配置提供程序加载值,例如 JSON 文件、环境变量、Azure Key Value 或第三方提供程序。 使用配置的示例位于 ASP.NET Core 模板中。..., PathString,QueryString 和 FragmentString HTTP 标头集合 RouteValueDictionary ASP.NET Core MVC 的 ModelState

    97920

    ASP.NET Core 6 的性能改进

    来自@benaadams 的 dotnet/aspnetcore#31311将 WebSocket 请求中众所周知的标头值替换为内部字符串,这允许在头解析过程中分配的字符串被垃圾回收,减少了长期存在的WebSocket...dotnet/aspnetcore#31519 也来自@benaadams,将默认接口方法添加到 IHeaderDictionary 类型,以通过以标头名称命名的属性访问公共标头。...访问标题字典时不再输入错误的常见标题!这篇博客文章中更有趣的是,这个改变允许服务器实现返回一个自定义标头字典,以更优化地实现这些新的接口方法。...例如,服务器可能会将标头值直接存储在一个字段中,并直接返回该字段,而不是在内部字典中查询标头值,这需要对键进行哈希并查找条目。在某些情况下,当获取或设置标头值时,此更改可带来高达480%的改进。...@benaadams 的 dotnet/aspnetcore#32234 删除了 HttpRequestHeaders 枚举中未使用的字段,该字段通过不再为每个枚举的标头分配字段来提高性能。

    2.2K20

    【译】ASP.NET Core 6 中的性能改进

    来自@benaadams 的 dotnet/aspnetcore#31311 将 WebSocket 请求中众所周知的标头值替换为内部字符串,这允许在标头解析期间分配的字符串被垃圾收集,从而减少长期 WebSocket...另一个类似大小的更改是 dotnet/runtime#49123,它增加了对 SslStream 中零字节读取的支持,因此我们的 10,000 个空闲连接从 SslStream 分配中从 ~46 MB.../aspnetcore#31519 也来自@benaadams,将默认接口方法添加到 IHeaderDictionary 类型,用于通过以标头名称命名的属性访问公共标头。...例如,不是在内部字典中查询需要散列键并查找条目的标头值,而是服务器可能将标头值直接存储在字段中并可以直接返回该字段。在某些情况下,在获取或设置标头值时,此更改可带来高达 480% 的改进。...@benaadams 的 dotnet/aspnetcore#32234 删除了 HttpRequestHeaders 枚举中未使用的字段,该字段通过不再为每个枚举的标头分配字段来提高性能。

    1.2K20

    【译】ASP.NET Core 6 中的性能改进

    来自@benaadams 的 dotnet/aspnetcore#31311 将 WebSocket 请求中众所周知的标头值替换为内部字符串,这允许在标头解析期间分配的字符串被垃圾收集,从而减少长期 WebSocket...另一个类似大小的更改是 dotnet/runtime#49123,它增加了对 SslStream 中零字节读取的支持,因此我们的 10,000 个空闲连接从 SslStream 分配中从 ~46 MB.../aspnetcore#31519 也来自@benaadams,将默认接口方法添加到 IHeaderDictionary 类型,用于通过以标头名称命名的属性访问公共标头。...例如,不是在内部字典中查询需要散列键并查找条目的标头值,而是服务器可能将标头值直接存储在字段中并可以直接返回该字段。在某些情况下,在获取或设置标头值时,此更改可带来高达 480% 的改进。...@benaadams 的 dotnet/aspnetcore#32234 删除了 HttpRequestHeaders 枚举中未使用的字段,该字段通过不再为每个枚举的标头分配字段来提高性能。

    1.5K00

    安全规则

    CA2352:可序列化类型中的不安全 DataSet 或 DataTable 容易受到远程代码执行攻击 带有 SerializableAttribute 标记的类或结构包含 DataSet 或 DataTable...CA2353:可序列化类型中的不安全 DataSet 或 DataTable 使用 XML 序列化特性或数据协定特性进行了标记的类或结构包含 DataSet 或 DataTable 字段或属性。...CA3077:API 设计、XML 文档和 XML 文本读取器中的不安全处理 当设计派生自 XMLDocument 和 XMLTextReader 的 API 时,请注意 DtdProcessing。...CA5365:请勿禁用 HTTP 头检查 通过 HTTP 标头检查,可对在响应头中找到的回车符和换行符(\r 和 \n)进行编码。...此编码有助于避免注入攻击,这些注入攻击会攻击对标头包含的不受信数据进行回显的应用程序。

    2.6K00

    C# 利用IDbDataAdapter IDataReader 实现通用数据集获取

    关于数据集 在.net 应用中,与数据库进行连接并查询相关数据,填充到数据集是我们经常用到的功能,数据集的表现形式基本包括如下: 1、 DataSet DataSet 是 ADO.NET 中的数据集合对象...DataSet 相当于内存中的数据库,可以容纳复杂关系的数据,而且即使断开数据链路,依然可以继续独立的操作。生成的 DataSet 由一组 DataTable 对象组成,即数据表集合。...: https://learn.microsoft.com/zh-CN/dotnet/api/system.data.commandtype?...2 _sql string 要执行的SQL语句命令行 3 paras ArrayList 要赋值的参数对象,逐个添加到ArrayList里,请注意参数为实体数据参数对象,如 MS SQL Server...: https://learn.microsoft.com/zh-CN/dotnet/api/system.data.commandtype?

    51410
    领券