2

Problem HintergrundgRPC läuft an der Seite mit Asp.net Kern Mvc

Ich habe derzeit zwei Projekte, die auf die gleiche Datenbank verknüpfen. Die erste Anwendung ist ein Asp.Net Core MVC-Projekt mit Entity-Framework. Es beherbergt eine Reihe von Dashboards und REST-APIs.

Das zweite Projekt ist eine Asp.Net Core Console-Anwendung, die einen gRPC-Server an einem separaten Port hostet.

Das dritte Projekt ist ein Zwischen-Schema-Projekt, das die Modelle als eine Klassenbibliothek für die beiden oben genannten Projekte dient.

Frage

Wäre es möglich/besser das gRPC Projekt im selben Projekt wie das MVC-Projekt zu hosten? Wenn ja, gäbe es dann keine Konflikte in den Thread-Pools von Turmfalke/Grpc? Zu guter Letzt würde dies die Fähigkeit zum Hosten der Anwendung auf einem IIS-Server mit IISIntergration entfernen?

TL; DR Kann/Soll ich sowohl einen gRPC und MVC-Server auf aspnet Kern mit dem gleichen Projekt hosten und was die Auswirkungen sein?

Antwort

4

Für den Teil der Frage über Thread-Pool Konflikte:

Wenn ja, dann würde keine Konflikte in den Thread-Pools von Kestrel/grpc da sein?

GRPC laicht einen eigenen Thread-Pool Arbeit und vollständige Aufgaben zu tun im Zusammenhang Anrufe grpc. Solange async/await überall verwendet wird und möglicherweise lang andauernde CPU-Arbeit abgeladen wird, sollte es keine Probleme geben.

Verwandte Themen