我们当前的Blazor Server项目引用了Client项目,我们希望将它们解耦,因为我们希望控制器充当WebAPI,供我们的Blazor网站、移动应用程序以及希望与我们的系统集成的客户使用。我们已经考虑将控制器拆分为一个单独的服务项目。有人能想到这件事的利弊吗?你会怎么做呢?
Edit-这是一个包含客户端、服务器和共享项目的WASM解决方案。
我们当前的Blazor Server项目引用了Client项目,我们希望将它们解耦为
服务器确实有一个对客户端的项目引用,但这是一个小技巧,它使MS Build将客户端的输出复制到服务器的bin文件夹中。这样服务器就可以很容易地为客户端"服务"。服务器不调用或使用客户端中的任何代码。
您可以删除引用,并在服务器启动代码中使用路径字符串进行一些配置。我不知道确切的细节。
因此,根据@MrCakaShaunCurtis的评论,您已经有了一个单独的API服务器。一个在相同的URL和端口上运行的(没有CORS问题(,只需要提供一堆组成客户端的静态文件这一小的额外工作。