最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何在?ASP.NET?Core?中創(chuàng)建?gRPC?客戶(hù)端和服務(wù)器

 更新時(shí)間:2024年11月25日 09:00:27   作者:shiningrise  
gRPC 是一種高性能、開(kāi)源的遠(yuǎn)程過(guò)程調(diào)用(RPC)框架,它基于 Protocol Buffers(protobuf)定義服務(wù),并使用 HTTP/2 協(xié)議進(jìn)行通信,這篇文章主要介紹了在?ASP.NET?Core?中創(chuàng)建?gRPC?客戶(hù)端和服務(wù)器,需要的朋友可以參考下

前言

gRPC 是一種高性能、開(kāi)源的遠(yuǎn)程過(guò)程調(diào)用(RPC)框架,它基于 Protocol Buffers(protobuf)定義服務(wù),并使用 HTTP/2 協(xié)議進(jìn)行通信。

新建項(xiàng)目

新建解決方案GrpcDemo

新建webapi項(xiàng)目GrpcServer作為grpc服務(wù)端項(xiàng)目

添加包

    <PackageReference Include="Grpc.AspNetCore" Version="2.67.0" />
    <PackageReference Include="Grpc.Tools" Version="2.67.0">

新建文本文件greeter.proto

syntax = "proto3";
option csharp_namespace = "GrpcServer";
package greet;
// The greeting service definition.
service Greeter {
  // Sends a greeting
  rpc SayHello (HelloRequest) returns (HelloReply);
}
// The request message containing the user's name.
message HelloRequest {
  string name = 1;
}
// The response message containing the greetings.
message HelloReply {
  string message = 1;
}

編輯GrpcServer項(xiàng)目文件,添加

新建類(lèi)GreeterService.cs

using Grpc.Core;
namespace GrpcServer
{
    public class GreeterService : Greeter.GreeterBase
    {
        private readonly ILogger<GreeterService> _logger;
        public GreeterService(ILogger<GreeterService> logger)
        {
            _logger = logger;
        }
        public override Task<HelloReply> SayHello(HelloRequest request, ServerCallContext context)
        {
            return Task.FromResult(new HelloReply
            {
                Message = "Hello " + request.Name
            });
        }
    }
}

修改Program.cs

using GrpcServer;
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddControllers();
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
builder.Services.AddGrpc();
var app = builder.Build();
app.MapGrpcService<GreeterService>();
// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
    app.UseSwagger();
    app.UseSwaggerUI();
}
app.UseHttpsRedirection();
app.UseAuthorization();
app.MapControllers();
app.Run();

就是添加下面兩行代碼

builder.Services.AddGrpc();
app.MapGrpcService<GreeterService>();

新建grpc客戶(hù)端項(xiàng)目GrpcClient

添加包

    <PackageReference Include="Google.Protobuf" Version="3.28.3" />
    <PackageReference Include="Grpc.Net.Client" Version="2.67.0" />
    <PackageReference Include="Grpc.Tools" Version="2.67.0">

復(fù)制服務(wù)器端端的greeter.proto到客戶(hù)端項(xiàng)目

編輯GrpcClient項(xiàng)目文件,加

編輯Program.cs文件

using Grpc.Net.Client;
using GrpcClient;
using var channel = GrpcChannel.ForAddress("https://localhost:7052");
var client = new Greeter.GreeterClient(channel);
var reply = await client.SayHelloAsync(
                  new HelloRequest { Name = "wxy" });
Console.WriteLine("Greeting: " + reply.Message);
Console.WriteLine("Press any key to exit...");
Console.ReadKey();

7052改成你的服務(wù)器端運(yùn)行端口

結(jié)果展示

運(yùn)行服務(wù)器端

運(yùn)行客戶(hù)端

到此這篇關(guān)于在 ASP.NET Core 中創(chuàng)建 gRPC 客戶(hù)端和服務(wù)器的文章就介紹到這了,更多相關(guān)ASP.NET Core gRPC 客戶(hù)端和服務(wù)器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用Python實(shí)現(xiàn)Word文檔文本格式化的完整指南

    使用Python實(shí)現(xiàn)Word文檔文本格式化的完整指南

    這篇文章主要為大家詳細(xì)介紹了如何使用Python實(shí)現(xiàn)Word文檔文本格式化,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2026-03-03
  • Tensorflow、Keras與Python版本兼容性完全解析

    Tensorflow、Keras與Python版本兼容性完全解析

    在深度學(xué)習(xí)的開(kāi)發(fā)過(guò)程中,TensorFlow和Keras作為最流行的深度學(xué)習(xí)框架,已經(jīng)成為了眾多開(kāi)發(fā)者和研究人員的首選,這篇文章主要介紹了Tensorflow、Keras與Python版本兼容性的相關(guān)資料,需要的朋友可以參考下
    2025-11-11
  • python連接FTP服務(wù)器的實(shí)現(xiàn)方法

    python連接FTP服務(wù)器的實(shí)現(xiàn)方法

    本文主要介紹了python連接FTP服務(wù)器的實(shí)現(xiàn)方法,主要使用ftp操作進(jìn)行連接FTP服務(wù)器、獲取當(dāng)前目錄文件清單、上傳文件等操作,具有一定的參考價(jià)值,感興趣的可以了解一下
    2022-06-06
  • Python中__str__()方法的實(shí)用技巧分享

    Python中__str__()方法的實(shí)用技巧分享

    在Python編程中,__str__()是一個(gè)特殊方法,它允許自定義對(duì)象的字符串表示形式,本文將深入探討__str__()的相關(guān)實(shí)用技巧,希望對(duì)大家有所幫助
    2023-11-11
  • Python基于socket實(shí)現(xiàn)TCP客戶(hù)端和服務(wù)端

    Python基于socket實(shí)現(xiàn)TCP客戶(hù)端和服務(wù)端

    這篇文章主要介紹了Python基于socket實(shí)現(xiàn)的TCP客戶(hù)端和服務(wù)端,以及socket實(shí)現(xiàn)的多任務(wù)版TCP服務(wù)端,下面相關(guān)操作需要的小伙伴可以參考一下
    2022-04-04
  • pytest官方文檔解讀fixtures的autouse

    pytest官方文檔解讀fixtures的autouse

    這篇文章主要為大家介紹了pytest官方文檔解讀fixtures的autouse,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • Python高效計(jì)算上周五到任意日期的完全指南

    Python高效計(jì)算上周五到任意日期的完全指南

    在業(yè)務(wù)系統(tǒng)開(kāi)發(fā)中,日期計(jì)算是高頻且關(guān)鍵的需求,這篇文章將高效計(jì)算上周五到任意日期的方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下
    2025-08-08
  • python進(jìn)程結(jié)束后端口占用問(wèn)題解析

    python進(jìn)程結(jié)束后端口占用問(wèn)題解析

    這篇文章主要為大家介紹了python中在進(jìn)程結(jié)束后端口依然被占用的問(wèn)題解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-01-01
  • Python之字符串的遍歷的4種方式

    Python之字符串的遍歷的4種方式

    這篇文章主要介紹了Python之字符串的遍歷的4種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • pandas選擇或添加列生成新的DataFrame操作示例

    pandas選擇或添加列生成新的DataFrame操作示例

    這篇文章主要為大家介紹了pandas選擇或添加列生成新的DataFrame實(shí)現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05

最新評(píng)論

丰顺县| 阳江市| 逊克县| 满城县| 兴国县| 平南县| 宾川县| 易门县| 都江堰市| 阿拉善右旗| 重庆市| 宁陕县| 韩城市| 大姚县| 丰都县| 黑水县| 万州区| 建瓯市| 芜湖县| 九江县| 柳河县| 游戏| 稷山县| 布尔津县| 和龙市| 青龙| 咸丰县| 正蓝旗| 兴山县| 朝阳县| 若尔盖县| 安平县| 罗田县| 香港| 启东市| 泾源县| 唐河县| 隆德县| 灵丘县| 舒城县| 神木县|