Blazor 和 gRPC,由 C# 和 运行 在 Linux

Blazor and gRPC by C# and run at Linux

我是新的 Blazor 和 gRPC 服务,并且在一些 google.

之后对它们如何协同工作感到困惑

据我了解,Blazor 有服务器和客户端应用程序类型,通常 Blazor 客户端应该连接到 Blazor 服务器(后端服务)来执行业务逻辑(例如将记录插入数据库)?

但是对于gRPC,它包含一个gRPC服务器(已经有后端服务)。

在这种情况下,让它们协同工作的最佳方法是什么?

  1. Blazor 客户端 -> Blazor 服务器 -> gRPC 服务器。在这种情况下,Blazor 服务器是 gRPC 客户端

  1. Blazor 客户端 -> gRPC 服务器。

这是 Blazor 和 gRPC 世界中的常见用例(C# 的 Blazor 和 gRPC 以及 Linux 的 运行)吗?或任何网站(最好用简单的代码来演示这是如何工作的)推荐给我阅读?

对不起,我的问题不够具体,因为我现在没有太多想法。

有关我想要实现的目标的其他信息:

  1. 这是一个用 C# 编写的用于 GUI 和后端的应用程序,运行正在 Linux
  2. 上运行
  3. 它采用多层架构,其中 GUI(演示)包含尽可能少的业务逻辑。
  4. 后端服务与GUI的通信,优先使用proto

Blazor 是一个 UI 网络框架。可以hosted两种方式:

  • 服务器 - 您的所有代码都在 运行 服务器上,所有交互和 UI 更新都通过 SignalR 连接发送。
  • Webassembly - 您的所有代码都在客户端上 运行,在网络浏览器中。

每个选项都有优点和缺点,详见 link。

gRPC 是计算机对话的一种方式,与 blazor 没有直接关系。如果你是 运行 服务器上的 blazor,你 可以 使用 gRPC 与另一台服务器通信,但这只有在你想将服务器分成两个或更多部分时才需要.如果您是 运行 blazor webassembly,您 可以 使用 gRPC 与服务器通信,但如果您更喜欢其他选项,还有其他选项,如 web API 或 SignalR。