您现在的位置是:亿华云 > 人工智能
.NET 6 中的 HTTP/3 支持
亿华云2025-10-08 23:05:36【人工智能】9人已围观
简介根据官方博客的介绍,.NET 6 提供了对 HTTP/3 的预览支持,主要包括以下场景:在 Kestrel、HTTP.Sys 和 IIS 中,用于 ASP.NET 服务器 在 HttpC
根据官方博客的中P支介绍,.NET 6 提供了对 HTTP/3 的中P支预览支持,主要包括以下场景:
在 Kestrel、中P支HTTP.Sys 和 IIS 中,中P支用于 ASP.NET 服务器 在 HttpClient 中发送 outbound 请求 面向 gRPC.NET 开发团队表示,中P支HTTP/3 的中P支 RFC 还没有最终确定,但他们还是中P支将 HTTP/3 引入到了 .NET 6 中,方便用户开始进行试验,中P支但这只是中P支 .NET 6 的预览功能——因为它不符合 .NET 6 其余部分的质量标准。因此需要与其他服务器和客户端进行更广泛的中P支测试以确保兼容性,企商汇尤其是中P支在边界情况下。
试用 HTTP/3
如需使用 HTTP/3,中P支需安装 MSQuic 及其 TLS 依赖项。中P支
目前只支持 Windows 和 Linux,中P支.NET 6 暂不支持 macOS 上的中P支 HTTP/3,主要是因为缺少与 QUIC 兼容的 TLS API。.NET 团队认为,由于 .NET 在 macOS 上使用 SecureTransport 来实现其 TLS 实现,它尚未包含支持 QUIC 握手的 TLS API。虽然可以使用 OpenSSL,但他们认为最好不要引入未与操作系统的证书管理集成的服务器托管附加依赖项。
示例
使用 HTTP/3 的 gRPC
gRPC 是一种使用 protobuf 序列化格式的 RPC 机制。gRPC 通常使用 HTTP/2 作为其传输。HTTP/3 使用了相同的语义,因此几乎不需要更改即可使其工作。gRPC over HTTP/3 由 .NET 团队提出,目前还不是一个标准。
ASP.NET Server
var builder = WebApplication.CreateBuilder(args); // Add services to the container. builder.Services.AddGrpc(); builder.WebHost.ConfigureKestrel((context, options) => { options.Listen(IPAddress.Any, 5001, listenOptions => { listenOptions.Protocols = HttpProtocols.Http3; listenOptions.UseHttps(); }); }); var app = builder.Build(); // Configure the HTTP request pipeline. if (app.Environment.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.MapGrpcService<GreeterService>(); app.MapGet("/", () => "Communication with gRPC endpoints must be made through a gRPC client. To learn how to create a client, visit: https://go.microsoft.com/fwlink/?linkid=2086909"); app.Run();Client
using Grpc.Net.Client; using GrpcService1; using System.Net; var httpClient = new HttpClient(); httpClient.DefaultRequestVersion = HttpVersion.Version30; httpClient.DefaultVersionPolicy = HttpVersionPolicy.RequestVersionExact; var channel = GrpcChannel.ForAddress("https://localhost:5001", new GrpcChannelOptions() { HttpClient = httpClient }); var client = new Greeter.GreeterClient(channel); var response = await client.SayHelloAsync( new HelloRequest { Name = "World" }); Console.WriteLine(response.Message);详情查看官方博客。
本站新闻禁止未经授权转载,违者依法追究相关法律责任。授权请联系:oscbianji#oschina.cn
本文标题:.NET 6 中的 HTTP/3 支持
本文地址:https://www.oschina.net/news/161364/http-3-support-in-dotnet-6
亿华云计算很赞哦!(94)
相关文章
- 2016年1月1日:注册价格将降至每年7欧元。
- 盘点Java集合中集合排序操作的常用方法
- 我的 CSS 就是这么可爱——如何组织 CSS
- HarmonyOS应用框架如何解决多设备交互问题?
- 第三,.cc域名域名也有很多优势资源域名,从整体注册基数也可以由此推断;
- HarmonyOS AI基础技术赋能之关键字获取
- Spring Boot参数校验以及分组校验的使用
- HarmonyOS实战—单击事件的四种写法
- 付款完成后,您只需耐心等待,如果您注册成功,系统会提示您。这里需要注意的是,域名是一个即时产品,只有在最终付款成功时才能预订,注册成功后不能更改。
- Java8 的 G1 垃圾回收器相对于之前的 CMS 有什么特别的呢?
站长推荐
.com域名是国际最广泛流行的通用域名,目前全球注册量第一的域名,公司企业注册域名的首选。国际化公司通常会注册该类域名。
如何使用Emscripten将C代码编译成WebAssembly?
Fn FnMut FnOnce 傻傻分不清
深入探讨 Python 的 import 机制:实现远程导入模块
用户邮箱的静态密码可能已被钓鱼和同一密码泄露。在没有收到安全警报的情况下,用户在适当的时间内不能更改密码。在此期间,攻击者可以随意输入帐户。启用辅助身份验证后,如果攻击者无法获取移动电话动态密码,他将无法进行身份验证。这样,除非用户的电子邮件密码和手机同时被盗,否则攻击者很难破解用户的邮箱。
简单的Postman,还能玩出花?
用Python中的蒙特卡洛模拟预测股票收益
IEEE Spectrum年度排行:Python增长速度工作需求全榜首