【发布时间】:2020-09-03 10:18:15
【问题描述】:
我计划创建一个 ASP.NET Core 托管的 Blazor WASM 应用程序,但由于调试经验有限且开发速度较慢,我选择了托管 WebAPI 的 Blazor 服务器应用程序来模仿上述项目类型的体系结构以简化.NET 5 发布时切换回来。问题是我不知道如何配置Startup 类来使用WebAPI。不幸的是,我找不到任何演示在 Blazor Server 中使用 WebAPI 的链接。
假设我已经在项目中添加了控制器,我应该在 Startup 的 ConfigureServices() 和 Configure() 方法中修改什么以使用控制器?
【问题讨论】:
-
我能问一下 WebAPI 是供 Blazor 应用使用,还是供其他东西使用?如果只是向 Blazor 提供数据,则 Blazor 服务器不需要它 - Blazor 代码已经在服务器上运行。
-
@Quango 是为 Blazor 提供数据,但我认为构建像 WASM 应用程序这样的服务器端应用程序可以轻松切换到 WASM,因此我无需进行任何更改跨度>
-
是的,这是真的。最好的方法是将数据访问封装在一个接口中,例如IDataAccess - 为 WASM 创建一个 WebAPI 访问代码,对于服务器,您可以只获取数据。如果这是有道理的。您可以稍后在需要时执行 WebAPI。我有一个演示应用程序(有点过时但概念是一样的:github.com/conficient/BlazorServicePattern
-
不错!我最近只是在想它,但我真的找不到它的参考。感谢您的样品!
-
@Quango 顺便说一句,我刚刚意识到 WebAPI 的控制器(
ControllerBase类,因为Controller用于 MVC 视图)返回 ActionResult。你有过这个案例的经验吗?
标签: c# blazor blazor-server-side webapi