GRPC与ASP.NET Core MVC一起奔跑



问题背景

我目前有两个链接到同一数据库的项目。第一个应用程序是使用实体框架的ASP.NET Core MVC项目。它托管了一堆仪表板和REST API。

第二个项目是ASP.NET核心控制台应用程序,该应用程序在单独的端口上托管GRPC服务器。

第三个项目是一个中间模式项目,将模型作为上述两个项目的类库。

问题

与MVC项目同一项目中托管GRPC项目是否有可能/更好?如果是这样,那么Kestrel/grpc的线程池中是否没有冲突?最后,这将删除使用IISINTREGRATION在IIS服务器上托管应用程序的能力?

tl; dr 我可以使用同一项目在ASPNET核心上同时托管GRPC和MVC服务器吗?

有关线程池冲突的问题的部分:

如果是这样,那么Kestrel/grpc的线程池中是否没有冲突?

GRPC催生自己的线程池,进行工作并完成与GRPC调用有关的任务。只要在各处使用异步/等待,并且可能长期运行的CPU工作被卸载,那么此末端就不应该有任何问题。

令人惊讶的是ASP.NET Core现在正式支持GRPC版本3:https://learn.microsoft.com/en-us/aspnet/core/core/core/grpc/aspnetcore?view?-3.1& tabs = Visual-Studio

最新更新