国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

在 C#和ASP.NET Core中創(chuàng)建 gRPC 客戶端和服務(wù)器

這篇具有很好參考價(jià)值的文章主要介紹了在 C#和ASP.NET Core中創(chuàng)建 gRPC 客戶端和服務(wù)器。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

關(guān)于gRPC和Google protobuf

gRPC 是一種可以跨語言運(yùn)行的現(xiàn)代高性能遠(yuǎn)程過程調(diào)用 (RPC) 框架。gRPC 實(shí)際上已經(jīng)成為 RPC 框架的行業(yè)標(biāo)準(zhǔn),Google 內(nèi)外的組織都在使用它來從微服務(wù)到計(jì)算的“最后一英里”(移動(dòng)、網(wǎng)絡(luò)和物聯(lián)網(wǎng))的強(qiáng)大用例。
gRPC是一個(gè)高性能的開源的通用RPC框架,由Google公司開發(fā),支持常用的C++、Java、Python、C#/.Net、Go、Node、Dart、Kotlin、Object-C、PHP、Ruby等語言,采用protobuf作為數(shù)據(jù)交換格式,并且采用C++開發(fā),支持Windows 、Linux、macOS跨平臺開發(fā)。對于跨語言服務(wù)調(diào)用非常方便,只要使用protobuf定義接口協(xié)議,然后按照gRPC語言SDK調(diào)用即可。比如我們使用C++對環(huán)保數(shù)采儀器設(shè)備通過串口或者網(wǎng)口傳送的數(shù)據(jù)協(xié)議如Modbus協(xié)議、HJ212協(xié)議、或者廠商自定義的協(xié)議進(jìn)行解析之后,將數(shù)據(jù)存放到本地?cái)?shù)據(jù)庫,這個(gè)時(shí)候我們?nèi)绾螌++的數(shù)據(jù)傳給前端網(wǎng)頁呢?
這個(gè)時(shí)候可以使用多種方式。比如通過數(shù)據(jù)庫、HTTP協(xié)議、WebSocket協(xié)議、RPC遠(yuǎn)程過程調(diào)用等方式。
我之前做環(huán)保的時(shí)候,采用C++和環(huán)保硬件設(shè)備打交道,通過C++后臺程序?qū)?shù)采儀數(shù)據(jù)解析之后存入到本地Sqlite數(shù)據(jù)庫中(分表分頁存儲),然后由于展示的網(wǎng)頁比較簡單,只是用網(wǎng)頁展示當(dāng)前站點(diǎn)的數(shù)據(jù),前端采用ElementUI和Vue.js,后端采用Node.js。另外,C++后臺寫了一套RPC服務(wù)端接口,Node.js通過RPC客戶端調(diào)用C++的后臺RPC服務(wù),雙方之間通過Google Protobuf數(shù)據(jù)協(xié)議交互。

在 gRPC 中,客戶端應(yīng)用程序可以像本地對象一樣直接調(diào)用不同機(jī)器上的服務(wù)器應(yīng)用程序上的方法,從而使您更輕松地創(chuàng)建分布式應(yīng)用程序和服務(wù)。與許多 RPC 系統(tǒng)一樣,gRPC 基于定義服務(wù)的思想,指定可以遠(yuǎn)程調(diào)用的方法及其參數(shù)和返回類型。在服務(wù)器端,服務(wù)器實(shí)現(xiàn)這個(gè)接口并運(yùn)行一個(gè)gRPC服務(wù)器來處理客戶端調(diào)用。在客戶端,客戶端有一個(gè)存根(在某些語言中簡稱為客戶端),它提供與服務(wù)器相同的方法。
在 C#和ASP.NET Core中創(chuàng)建 gRPC 客戶端和服務(wù)器,C# WinForm和WPF,編程語言學(xué)習(xí),c#,asp.net,服務(wù)器,gRPC
gRPC 客戶端和服務(wù)器可以在各種環(huán)境中運(yùn)行和相互通信(從 Google 內(nèi)部的服務(wù)器到您自己的桌面),并且可以用 gRPC 支持的任何語言編寫。例如,您可以使用 Java 輕松創(chuàng)建 gRPC 服務(wù)器,并使用 Go、Python 或 Ruby 編寫客戶端。此外,最新的 Google API 將具有其接口的 gRPC 版本,讓您可以輕松地將 Google 功能構(gòu)建到您的應(yīng)用程序中。

在 C#和ASP.NET Core中創(chuàng)建 gRPC 客戶端和服務(wù)器

在 C#和ASP.NET Core中創(chuàng)建 gRPC 客戶端和服務(wù)器十分簡單,可以參考微軟官方的幾篇文章:

  • 使用 C# 的 gRPC 服務(wù)
  • 使用 .NET 客戶端調(diào)用 gRPC 服務(wù)
  • 教程:在 ASP.NET Core 中創(chuàng)建 gRPC 客戶端和服務(wù)器
    在 C#和ASP.NET Core中創(chuàng)建 gRPC 客戶端和服務(wù)器,C# WinForm和WPF,編程語言學(xué)習(xí),c#,asp.net,服務(wù)器,gRPC

在 C#和ASP.NET Core中創(chuàng)建 gRPC 客戶端和服務(wù)器,C# WinForm和WPF,編程語言學(xué)習(xí),c#,asp.net,服務(wù)器,gRPC

對應(yīng)在VS2022中分別運(yùn)行GRPC服務(wù)端和客戶端的SayHello示例接口調(diào)用如下圖所示:
在 C#和ASP.NET Core中創(chuàng)建 gRPC 客戶端和服務(wù)器,C# WinForm和WPF,編程語言學(xué)習(xí),c#,asp.net,服務(wù)器,gRPC

  • C# / .NET

C# 中的 gRPC 簡介視頻教程

另外,油管上面有來自UP主IAmTimCorey于2019年9月30日創(chuàng)作的一篇關(guān)于C#中使用GRPC的視頻,地址為:Intro to gRPC in C# - How To Get Started
相關(guān)示例代碼我已經(jīng)上傳到我的Github倉庫,地址為:https://github.com/ccf19881030/GrpcGreeterDemo
在 C#和ASP.NET Core中創(chuàng)建 gRPC 客戶端和服務(wù)器,C# WinForm和WPF,編程語言學(xué)習(xí),c#,asp.net,服務(wù)器,gRPC
我們git clone https://github.com/ccf19881030/GrpcGreeterDemo.git 源代碼到本地后,使用VS2022打開GrpcGreeterDemo.sln解決方案,里面有GrpcGreeterGrpcGreeterClient兩個(gè)項(xiàng)目,分別是基于ASP.Net Core的gRPC服務(wù)端程序和基于.NetCore控制臺的gRPC客戶端程序,我的VS2022使用的是.NetCore 7.0。如下圖所示:
在 C#和ASP.NET Core中創(chuàng)建 gRPC 客戶端和服務(wù)器,C# WinForm和WPF,編程語言學(xué)習(xí),c#,asp.net,服務(wù)器,gRPC
我們首選將GrpcGreeter gRPC服務(wù)端程序作為啟動(dòng)項(xiàng)目,然后運(yùn)行,如下圖所示:
在 C#和ASP.NET Core中創(chuàng)建 gRPC 客戶端和服務(wù)器,C# WinForm和WPF,編程語言學(xué)習(xí),c#,asp.net,服務(wù)器,gRPC
接著我們再將GrpcGreeterClient gRPC客戶端作為啟動(dòng)項(xiàng)目,然后運(yùn)行,結(jié)果如下圖所示:
在 C#和ASP.NET Core中創(chuàng)建 gRPC 客戶端和服務(wù)器,C# WinForm和WPF,編程語言學(xué)習(xí),c#,asp.net,服務(wù)器,gRPC文章來源地址http://www.zghlxwxcb.cn/news/detail-855862.html

參考資料

  • https://grpc.io/
  • Introduction to gRPC
  • gRPC-Quick start
  • https://github.com/grpc/grpc The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)
  • gRPC in 5 minutes | Eric Anderson & Ivy Zhuang, Google
  • Protocol Buffers
  • Protocol Buffers - Google’s data interchange format
  • 使用 ASP.NET Core 的 gRPC 服務(wù)
  • Intro to gRPC in C# - How To Get Started
  • https://github.com/ccf19881030/GrpcGreeterDemo
  • 將本地托管代碼添加到 GitHub

到了這里,關(guān)于在 C#和ASP.NET Core中創(chuàng)建 gRPC 客戶端和服務(wù)器的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • .net core WebAPI 獲取客戶端IP的地址

    1、寫個(gè)擴(kuò)展方法在控制器里面: 注:不能創(chuàng)建外部類,否則會報(bào)錯(cuò),HttpContext必須是和帶有繼承ControllerBase的類一起才行 1.在Startup.cs文件里注入服務(wù): 2、去控制器里面寫入:

    2024年02月03日
    瀏覽(97)
  • C#實(shí)現(xiàn)簡單TCP服務(wù)器和客戶端網(wǎng)絡(luò)編程

    C#實(shí)現(xiàn)簡單TCP服務(wù)器和客戶端網(wǎng)絡(luò)編程

    在C#中進(jìn)行網(wǎng)絡(luò)編程涉及許多類和命名空間,用于創(chuàng)建和管理網(wǎng)絡(luò)連接、傳輸數(shù)據(jù)等。下面是一些主要涉及的類和命名空間: System.Net 命名空間: 這個(gè)命名空間提供了大部分網(wǎng)絡(luò)編程所需的類,包括: IPAddress :用于表示IP地址。 IPEndPoint :表示IP地址和端口號的組合。 Socke

    2024年02月11日
    瀏覽(37)
  • 【服務(wù)器】ASP.Net Core(C#)創(chuàng)建Web站點(diǎn)

    【服務(wù)器】ASP.Net Core(C#)創(chuàng)建Web站點(diǎn)

    簡單幾步實(shí)現(xiàn)本地ASP.Net.Core web 站點(diǎn)結(jié)合cpolar內(nèi)網(wǎng)穿透工具實(shí)現(xiàn)遠(yuǎn)程訪問 1. 創(chuàng)建站點(diǎn) *環(huán)境搭建,這邊測試,使用.NET 6.0 SDK,可以點(diǎn)擊跳轉(zhuǎn)到官網(wǎng)下載,下載后安裝即可. 安裝完成后,進(jìn)入到某個(gè)文件夾,打開powershell執(zhí)行下面命令,創(chuàng)建新的 Web 應(yīng)用,名稱叫:aspnetcoreapp 2. 運(yùn)行站點(diǎn) 信任開

    2024年02月11日
    瀏覽(24)
  • C#搭建Socket服務(wù)器與客戶端,助你快速入門(極簡版)

    C#搭建Socket服務(wù)器與客戶端,助你快速入門(極簡版)

    一、服務(wù)器的搭建 新建一個(gè)C#控制臺應(yīng)用,用于搭建服務(wù)器。 注:serverManager除了接收消息,也可以發(fā)送消息。基本除了監(jiān)聽,其他活它都干。 二、客戶端的搭建 再建一個(gè)C#控制臺應(yīng)用,用于搭建客戶端。 搭建好之后,先運(yùn)行服務(wù)器端, 再運(yùn)行客戶端。 一個(gè)簡單的服務(wù)器和

    2024年02月09日
    瀏覽(98)
  • C#知識點(diǎn)-13(進(jìn)程、多線程、使用Socket實(shí)現(xiàn)服務(wù)器與客戶端通信)

    C#知識點(diǎn)-13(進(jìn)程、多線程、使用Socket實(shí)現(xiàn)服務(wù)器與客戶端通信)

    進(jìn)程 定義:每一個(gè)正在運(yùn)行的應(yīng)用程序,都是一個(gè)進(jìn)程? 進(jìn)程不等于正在運(yùn)行的應(yīng)用程序。而是為應(yīng)用程序的運(yùn)行構(gòu)建一個(gè)運(yùn)行環(huán)境 多線程 這段代碼在執(zhí)行完成之前,程序會被卡死(不能操作程序,包括關(guān)閉窗口)。因?yàn)槲覀兂绦蛟谧鲆恍┖臅r(shí)操作的時(shí)候,如果主線程去執(zhí)

    2024年02月22日
    瀏覽(229)
  • C# Socket通信從入門到精通(16)——單個(gè)同步UDP服務(wù)器監(jiān)聽多個(gè)客戶端C#代碼實(shí)現(xiàn)

    C# Socket通信從入門到精通(16)——單個(gè)同步UDP服務(wù)器監(jiān)聽多個(gè)客戶端C#代碼實(shí)現(xiàn)

    我們在開發(fā)UDP通信程序時(shí),有時(shí)候我們也需要開發(fā)UDP服務(wù)器程序,這個(gè)服務(wù)器只需要和一個(gè)客戶端實(shí)現(xiàn)通信,比如這篇博文C# Socket通信從入門到精通(15)——單個(gè)同步UDP服務(wù)器監(jiān)聽一個(gè)客戶端C#代碼實(shí)現(xiàn),但是在實(shí)際項(xiàng)目中有的時(shí)候需要和多個(gè)客戶端進(jìn)行通信,這時(shí)和一個(gè)客

    2024年01月22日
    瀏覽(97)
  • C# Socket通信從入門到精通(15)——單個(gè)同步UDP服務(wù)器監(jiān)聽一個(gè)客戶端C#代碼實(shí)現(xiàn)

    C# Socket通信從入門到精通(15)——單個(gè)同步UDP服務(wù)器監(jiān)聽一個(gè)客戶端C#代碼實(shí)現(xiàn)

    我們在開發(fā)UDP通信程序時(shí),除了開發(fā)UDP客戶端程序,有時(shí)候我們也需要開發(fā)UDP服務(wù)器程序,這在實(shí)際項(xiàng)目中是經(jīng)常會遇到的,所以說掌握UDP服務(wù)器程序的開發(fā)是一項(xiàng)必備的技能,尤其在上位機(jī)軟件開發(fā)領(lǐng)域,掌握UDP服務(wù)器程序的開發(fā)是走向高級工程師的必經(jīng)之路,也是面試必

    2024年02月03日
    瀏覽(94)
  • C#與西門子PLC1500的ModbusTcp服務(wù)器通信4--搭建ModbusTcp客戶端

    C#與西門子PLC1500的ModbusTcp服務(wù)器通信4--搭建ModbusTcp客戶端

    客戶端可以是一個(gè)程序或一個(gè)設(shè)備,這里我以C#WINFORM程序來實(shí)現(xiàn)客戶機(jī)與PLC的Modbustcp服務(wù)器通信,開發(fā)環(huán)境是VS2019,.NET Framework版本是4.7.2 ?創(chuàng)建類庫 ? 編寫C#各種類的轉(zhuǎn)換庫,該庫由我提供,不用操心,文章最后提供。 項(xiàng)目引入這個(gè)類庫? 找到項(xiàng)目,找到引用,右鍵“管理

    2024年02月11日
    瀏覽(22)
  • .netcore grpc客戶端工廠及依賴注入使用

    .netcore grpc客戶端工廠及依賴注入使用

    gRPC 與? HttpClientFactory ?的集成提供了一種創(chuàng)建 gRPC 客戶端的集中方式。 可以通過依賴包Grpc.Net.ClientFactory中的AddGrpcClient進(jìn)行g(shù)RPC客戶端依賴注入 AddGrpcClient函數(shù)提供了許多配置項(xiàng)用于處理一些其他事項(xiàng);例如AOP、重試策略等 創(chuàng)建一個(gè)WPF客戶端 在App.xaml.cs代碼類里重寫OnStartup方

    2024年02月12日
    瀏覽(18)
  • Nacos源碼 (5) Grpc服務(wù)端和客戶端

    Nacos 2.x在服務(wù)端與客戶端直接增加了GRPC通信方式,本文通過2.0.2版本源碼,簡單分析GRPC通信方式: 服務(wù)器啟動(dòng) 客戶端連接 客戶端心跳 服務(wù)器監(jiān)控檢查 api/src/main/proto/nacos_grpc_service.proto文件: 文件定義了通信層的service和message結(jié)構(gòu),業(yè)務(wù)層請求響應(yīng)的序列化和反序列化是Na

    2024年02月10日
    瀏覽(60)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包