1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時(shí)間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      .NetCore3.0如何使用gRPC

      .Net Core3.0如何使用gRPC,針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(jiǎn)單易行的方法。

      成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),福清企業(yè)網(wǎng)站建設(shè),福清品牌網(wǎng)站建設(shè),網(wǎng)站定制,福清網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,福清網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

      gRPC是什么

      gRPC是可以在任何環(huán)境中運(yùn)行的現(xiàn)代開源高性能RPC框架。它可以通過可插拔的支持來有效地連接數(shù)據(jù)中心內(nèi)和跨數(shù)據(jù)中心的服務(wù),以實(shí)現(xiàn)負(fù)載平衡,跟蹤,運(yùn)行狀況檢查和身份驗(yàn)證。它也適用于分布式計(jì)算的最后一英里,以將設(shè)備,移動(dòng)應(yīng)用程序和瀏覽器連接到后端服務(wù)。

      proto文件

      用于定義gRPC服務(wù)和消息的協(xié)定;服務(wù)端和客戶端共享proto文件。

      使用新模板創(chuàng)建gRPC服務(wù)端

      .NETcore 3.0創(chuàng)建項(xiàng)目提供了一個(gè)新的gRPC模板,可以輕松地使用ASP.NET Core構(gòu)建gRPC服務(wù)。我們按照步驟一步一步創(chuàng)建AA.GrpcService 服務(wù),當(dāng)然你可以使用命令:dotnet new grpc -o GrpcGreeter

       選擇gRPC服務(wù)項(xiàng)目模板

      .Net Core3.0如何使用gRPC

      最終生成的項(xiàng)目

      .Net Core3.0如何使用gRPC

      greet.proto文件
      syntax = "proto3";
      option csharp_namespace = "AA.GrpcService";
      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;}
      GreeterService.cs

      public class GreeterService : Greeter.GreeterBase    {        private readonly ILogger _logger;        public GreeterService(ILogger logger)        {            _logger = logger;        }
             public override Task SayHello(HelloRequest request, ServerCallContext context)        {            return Task.FromResult(new HelloReply            {                Message = "Hello " + request.Name            });        }    }
      Startup.cs

      public void ConfigureServices(IServiceCollection services)        {            services.AddGrpc();        }
      public void Configure(IApplicationBuilder app, IWebHostEnvironment env)        {            if (env.IsDevelopment())            {                app.UseDeveloperExceptionPage();            }
                 app.UseRouting();
                 app.UseEndpoints(endpoints =>            {                endpoints.MapGrpcService();
                     endpoints.MapGet("/", async context =>                {                    await context.Response.WriteAsync("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");                });            });        }

      創(chuàng)建完成之后,自動(dòng)包含了包的引用、proto文件的創(chuàng)建、services服務(wù)的生成,模板項(xiàng)目在后臺(tái)執(zhí)行一些操作如

      • 創(chuàng)建一個(gè)包含所有g(shù)RPC依賴項(xiàng)的ASP.NET Core項(xiàng)目。

      • 創(chuàng)建一個(gè)名為的gRPC服務(wù)定義文件greet.proto。

      • 根據(jù)服務(wù)定義文件自動(dòng)生成所有g(shù)RPC存根。

      • GreeterService.cs根據(jù)自動(dòng)生成的gRPC存根創(chuàng)建gRPC服務(wù)。

      • 在Startup.cs中配置gRPC管道映射到GreeterService.cs

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

      .Net Core3.0如何使用gRPC

      創(chuàng)建gRPC客戶端

      下面,我們創(chuàng)建一個(gè)控制臺(tái)應(yīng)用程序作為客戶端調(diào)用gRPC服務(wù);

      .Net Core3.0如何使用gRPC

      引用gRPC服務(wù),步驟:右鍵項(xiàng)目添加=》服務(wù)引用彈出以下頁面;

      .Net Core3.0如何使用gRPC

      點(diǎn)擊確定

      .Net Core3.0如何使用gRPC

      .Net Core3.0如何使用gRPC

      我們看項(xiàng)目結(jié)構(gòu),他們會(huì)自動(dòng)幫我們處理一下操作:
      • 添加引用包:

      1.  package Grpc.Net.ClientFactory

      2.  package Google.Protobuf

      3.  package Grpc.Tools

      • Protos 文件(包含greet.proto)自動(dòng)從AA.GrpcService項(xiàng)目拷貝

      • 自動(dòng)添加節(jié)點(diǎn)

                Protos\greet.proto      
      最后,添加以下代碼進(jìn)行g(shù)RPC請(qǐng)求;

      class Program    {        static async Task Main(string[] args)        {            using var channel = GrpcChannel.ForAddress("https://localhost:5005");            var client = new Greeter.GreeterClient(channel);            var response = await client.SayHelloAsync(new HelloRequest { Name = "gRPC" });            Console.WriteLine("Greeting:" + response.Message);            Console.WriteLine("Press a key to exit");            Console.ReadKey();        }    }

      運(yùn)行結(jié)果圖:

      .Net Core3.0如何使用gRPC

      關(guān)于.Net Core3.0如何使用gRPC問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。


      本文標(biāo)題:.NetCore3.0如何使用gRPC
      網(wǎng)站鏈接:http://ef60e0e.cn/article/gheogo.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        云南省| 唐海县| 太谷县| 航空| 神木县| 商河县| 大姚县| 吴桥县| 滨海县| 东源县| 丹寨县| 绥阳县| 福建省| 建平县| 德昌县| 宝丰县| 定州市| 广水市| 通河县| 满城县| 通州区| 马尔康县| 微博| 铜鼓县| 吴旗县| 佛教| 扎兰屯市| 鱼台县| 弋阳县| 虹口区| 崇文区| 临武县| 龙岩市| SHOW| 正镶白旗| 武汉市| 霸州市| 大厂| 左权县| 嘉鱼县| 屯门区|