Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
gRPC - Neues gRPC Projekt mit PROTO-Datei erstellen
BierDav
myCSharp.de - Member

Avatar #avatar-4125.png


Dabei seit:
Beiträge: 39

Themenstarter:

gRPC - Neues gRPC Projekt mit PROTO-Datei erstellen

beantworten | zitieren | melden

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
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von BierDav am .
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“
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 16204

beantworten | zitieren | melden

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:
Zitat von https://grpc.io/docs/tutorials/basic/csharp.html
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.
- performance is a feature -

Microsoft MVP - @Website - @blog - @AzureStuttgart - github.com/BenjaminAbt
private Nachricht | Beiträge des Benutzers
weismat
myCSharp.de - Member



Dabei seit:
Beiträge: 878
Herkunft: Frankfurt am Main

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
BierDav
myCSharp.de - Member

Avatar #avatar-4125.png


Dabei seit:
Beiträge: 39

Themenstarter:

beantworten | zitieren | melden

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“
private Nachricht | Beiträge des Benutzers
weismat
myCSharp.de - Member



Dabei seit:
Beiträge: 878
Herkunft: Frankfurt am Main

beantworten | zitieren | melden

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.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von weismat am .
private Nachricht | Beiträge des Benutzers
BierDav
myCSharp.de - Member

Avatar #avatar-4125.png


Dabei seit:
Beiträge: 39

Themenstarter:

beantworten | zitieren | melden

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“
private Nachricht | Beiträge des Benutzers
weismat
myCSharp.de - Member



Dabei seit:
Beiträge: 878
Herkunft: Frankfurt am Main

beantworten | zitieren | melden

Grpc.Tools
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 16204

beantworten | zitieren | melden

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
- performance is a feature -

Microsoft MVP - @Website - @blog - @AzureStuttgart - github.com/BenjaminAbt
private Nachricht | Beiträge des Benutzers
BierDav
myCSharp.de - Member

Avatar #avatar-4125.png


Dabei seit:
Beiträge: 39

Themenstarter:

beantworten | zitieren | melden

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“
private Nachricht | Beiträge des Benutzers