ASP.NET中可以同时使用gRPC和gRPC-Web吗?
创始人
2024-09-19 21:30:48
0

在ASP.NET中可以同时使用gRPC和gRPC-Web。为此,您需要针对两个协议分别配置您的ASP.NET应用程序。下面是一些要点:

1.在 gRPC 服务器端中添加gRPC-Web中间件:

public void ConfigureServices(IServiceCollection services)
{
    services.AddGrpc();
}

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    app.UseRouting();

    app.UseGrpcWeb(new GrpcWebOptions { DefaultEnabled = true });

    app.UseEndpoints(endpoints =>
    {
        endpoints.MapGrpcService();

        endpoints.MapGet("/", async context =>
        {
            await context.Response.WriteAsync("Hello World!");
        });
    });
}

2.在gRPC客户端中添加gRPC-Web支持:

var httpClient = new HttpClient(new GrpcWebHandler(GrpcWebMode.GrpcWeb, new HttpClientHandler()));

var channel = GrpcChannel.ForAddress("https://localhost:5001", new GrpcChannelOptions { HttpClient = httpClient });

var client = new MyService.MyServiceClient(channel);

这些示例通过GrpcWebHandler将gRPC-Web协议添加到了.NET Core的HTTP客户端中。

在这里有更多的 gRPC和gRPC-Web 的ASP.NET示例:https://docs.microsoft.com/en-us/aspnet/core/grpc/basics?view=aspnetcore-5.0#grpc-web-%EF%B8%8F

注意:尽管gRPC-Web是一个在浏览器中使用gRPC的好方法,但它并不是完全遵循gRPC标准的。如果您需要完全遵循标准,请考虑使用浏览器原生支持的gRPC。

相关内容

热门资讯

科普分享!宁夏划水辅助,青鸟辅... 科普分享!宁夏划水辅助,青鸟辅助安卓,详细教程(有挂方法)1、完成青鸟辅助安卓辅助器v3.3的残局,...
反观!uupoker透视,智星... 反观!uupoker透视,智星菠萝有挂吗,好像真的有挂(证实有挂)1、智星菠萝有挂吗脚本辅助下载、智...
一分钟了解!老友广东辅助器,钱... 一分钟了解!老友广东辅助器,钱塘十水三挂件,详细挂(有挂详情)1)钱塘十水三挂件辅助插件:进一步探索...
截至发稿!来玩app破解,德普... 截至发稿!来玩app破解,德普之星透视辅助软件是真的吗,竟然是真的有挂(有人有挂)1、玩家可以在德普...
科技揭秘!手游游戏挂机辅助,科... 科技揭秘!手游游戏挂机辅助,科乐辅助工作室,详细软件(有挂方法)1、该软件可以轻松地帮助玩家将手游游...
刚刚!aapoker辅助插件工... 刚刚!aapoker辅助插件工具,德普之星透视辅助软件下载,切实是有挂(有挂方针)1、首先打开德普之...
推荐一款!h5能反杀吗,微信后... 推荐一款!h5能反杀吗,微信后羿大厅辅助,详细方法(有挂教程)1、完成微信后羿大厅辅助辅助器v3.3...
此事引发广泛关注!德普之星辅助... 此事引发广泛关注!德普之星辅助器怎么用,德扑之星透视辅助插件,果然是真的有挂(有挂头条)1、下载好德...
技术分享!多乐游戏脚本,微信新... 技术分享!多乐游戏脚本,微信新九游辅助,详细攻略(有挂解密)小薇(辅助器软件下载)致您一封信;亲爱微...
2026版攻略!拱趴大菠萝万能... 2026版攻略!拱趴大菠萝万能辅助器,德扑之星辅助工具如何设置,果然确实有挂(有挂分享)1、很好的工...