将现有Blazor服务器用作Blazor WASM后端

将现有Blazor服务器用作Blazor WASM后端,blazor,blazor-server-side,blazor-webassembly,Blazor,Blazor Server Side,Blazor Webassembly,我目前正在使用Blazor做一个项目,并演示它们的一些特性。我正在考虑创建这个应用程序的Blazor服务器、WASM和MBB版本 我的理解是Blazor WASM(PWA版本)需要某种服务器或API来访问数据或外部API 我目前已经完成了Blazor服务器应用程序,我想知道是否可以将其用作Blazor WASM和数据之间的主干或中介 你知道我该怎么做吗?虽然你可以重用数据服务,但你仍然需要为你的WASM应用公开实际的HTTP端点-它们需要能够序列化你需要在服务器和客户端之间传输的数据。例如,可以

我目前正在使用Blazor做一个项目,并演示它们的一些特性。我正在考虑创建这个应用程序的Blazor服务器、WASM和MBB版本

我的理解是Blazor WASM(PWA版本)需要某种服务器或API来访问数据或外部API

我目前已经完成了Blazor服务器应用程序,我想知道是否可以将其用作Blazor WASM和数据之间的主干或中介


你知道我该怎么做吗?

虽然你可以重用数据服务,但你仍然需要为你的WASM应用公开实际的HTTP端点-它们需要能够序列化你需要在服务器和客户端之间传输的数据。例如,可以依赖服务器端blazor应用程序已有的数据库服务的WebAPI控制器

Blazor WASM与您可能见过的任何其他SPA框架类似——它完全在浏览器中运行,需要某种API端点来获取数据


服务器端blazor模型是一个独特的模型,它允许您直接与服务器上的数据服务进行交互。

感谢您的输入!我想我喜欢你的想法,即添加一个WebAPI控制器并使用我已经拥有的服务。至于组件本身,我猜我必须修改blazor组件并将其粘贴到WASM项目中。使用相同的组件,只需将所有数据工作卸载到接口描述的服务中。然后,应用程序将根据它是服务器还是wasm实现新的服务。感谢您的通知!我们将尝试一下,看看它是如何工作的:)Blazor服务器将与Blazor webassembly垂直。你应该选择其中一个。根据服务器版本的实现方式,将其转换为webassembly版本可能很简单。实际上,这是不太可能的,因为当您开始使用服务器版本时,您可以在webassembly中执行许多非法的操作(例如直接访问服务器数据库),最终可能会付出很大的努力。感谢您的输入!我正在考虑使用Blazor服务器作为WebAssembly应用程序的主干,这将使WebAssembly仍然以安全的方式访问数据,并且我不必为其开发另一个API项目。您可以同时使用这两个服务器,您可以在服务上完成所有数据工作,您的开销将更小,而且您不会做一些愚蠢的事情,比如从组件访问数据库