Laden...

gRPC - Neues gRPC Projekt mit PROTO-Datei erstellen

Erstellt von BierDav vor 5 Jahren Letzter Beitrag vor 5 Jahren 2.217 Views
BierDav Themenstarter:in
38 Beiträge seit 2019
vor 5 Jahren
gRPC - Neues gRPC Projekt mit PROTO-Datei erstellen

Hallo,
ich habe mir gerade GRPC angesehen und dabei die Beispiele gemacht. Jetzt ist meine Frage wie dann selber so ein Projekt mit einer PROTO-Datei erstelle? Ich hab im Web nähmich nichts gefunden. Ich hoffe das mir jemand helfen kann.

LG BierDav

Trifft eine Programmiererin ihre Freundin und die Freundin fragt: "Mit welchen Typen hängst du so in letzter Zeit rum?" Die Programmiererin antwortet: „integers, booleans und strings“

16.807 Beiträge seit 2008
vor 5 Jahren

Ganz wichtig: es heisst gRPC und nicht GRPC.
Wenn Du im Titel gRPC schreibst, weiß man sofort, was gemeint ist; anders eher nicht.

gRPC ist ein extrem gut dokumentiertes Ökosystem.
Solltest Du etwas hier nicht finden, dann ist das ein sehr großer Hinweis, dass Du nicht genau genug suchst 😉

Dazu zeigt auch der von Dir verlinkte Link deutlich:

You can see the complete .proto file in examples/protos/route_guide.proto

und verweist auf https://github.com/grpc/grpc/blob/v1.18.0/examples/protos/route_guide.proto

Es werden ja auch zig funktionierende Real-World-Samples auf GitHub gezeigt, wo Du alle Bestandteile eines gRPC Service sehen und entnehmen kannst.
Daher: was genau fehlt Dir denn? In der Doku und in den Samples steht eigentlich alles für den Start.

W
872 Beiträge seit 2005
vor 5 Jahren

Die Beispiele sind sehr gut. Die Proto Dateien kann mit VSCode mit einem Plugin für Syntax-Highlighting erstellen.
Ich implementiere nur das Aufrufen des Proto Compilers als Pre-Build Event in Visual Studio, so daß der Build ohne Command Line auskommt:

cd $(ProjectDir)
$(SolutionDir)packages\Grpc.Tools.1.18.0\tools\windows_x86\protoc.exe   xxx.proto --csharp_out=$(ProjectDir) --grpc_out=$(ProjectDir) --plugin=protoc-gen-grpc=$(SolutionDir)packages\Grpc.Tools.1.18.0\tools\windows_x64\grpc_csharp_plugin.exe

BierDav Themenstarter:in
38 Beiträge seit 2019
vor 5 Jahren

Ich glaube ihr habt das falsch verstanden im meine wenn ich jetzt selber einen gRCP Server in VS Programmieren möchte. Also muss ich da in VS gehen "neues Projekt" ...
Oder wie mache ich sowas das sich dann compiliert und ich es dann verwenden kann.
Das meine ich. Kann mir hier wer helfen?

LG BierDav

Trifft eine Programmiererin ihre Freundin und die Freundin fragt: "Mit welchen Typen hängst du so in letzter Zeit rum?" Die Programmiererin antwortet: „integers, booleans und strings“

W
872 Beiträge seit 2005
vor 5 Jahren

Im VS brauchst Du zwei Projekte.
Ein Class Library Projekt, in dem Du die Proto Datei hast. Mit der neuen Version der Tools musst Du die Proto Datei nur als Element in VS hinzufügen ("Add existiting item) - dann gRPC, gRPC Tools und Protobuf Nuget Paket hinzufügen und kompilieren.
Das zweite Projekt ist dann eine Consolen-Anwendung, die das Class Library Projekt referenziert und die gRPC und Protobuf Nuget Pakete referenziert. Du startest dann dort wie im Beispiel den Server.
In der Server Implementierung erbst Du von der Class Library die Server Implementierung und überschreibst die Methoden für die Funktionsaufrufe.

BierDav Themenstarter:in
38 Beiträge seit 2019
vor 5 Jahren

Danke weismat,
aber Entschuldigung das ich da so nach hacke was für Tools hast du da gemeint?

LG David

Trifft eine Programmiererin ihre Freundin und die Freundin fragt: "Mit welchen Typen hängst du so in letzter Zeit rum?" Die Programmiererin antwortet: „integers, booleans und strings“

W
872 Beiträge seit 2005
vor 5 Jahren
16.807 Beiträge seit 2008
vor 5 Jahren

Kommunikationsimplementierungen haben nichts mit der genutzten Technologie am Hut.
Das heisst, dass auch gRPC ganz normal in Klassenbibliotheken umgesetzt werden. Ob dieser Service nachher ein einer WebApp, DesktopApp oder mobilen Anwendung genutzt wird: völlig egal.

Natürlich gibt es daher auch keine speziellen "gRPC Visual Studio Projekte".
So funktioniert das Ökosystem einfach nicht 😃

Siehe auch Basics: [Artikel] Drei-Schichten-Architektur

BierDav Themenstarter:in
38 Beiträge seit 2019
vor 5 Jahren

Danke,
Ihr hab mir sehr geholfen.

LG BierDav

Trifft eine Programmiererin ihre Freundin und die Freundin fragt: "Mit welchen Typen hängst du so in letzter Zeit rum?" Die Programmiererin antwortet: „integers, booleans und strings“