相关疑难解决方法(0)

如何像 JavaScript-SPA 一样托管 ASP.NET API 和 Blazor Web 程序集?

语境:

我们想要创建一个在客户端与 Blazor WebAssembly 一起运行的单页应用程序。在服务器端,该解决方案有一个 ASP.NET MVC,其中包括一些用于 REST API 的 ApiController 类。

我们希望在服务器端使用 ASP.NET API 而不是 Blazor Server,因为我们希望为未知消费者提供带有 ApiController 类的 REST 接口。

这是我在单个解决方案中的客户端 (Blazor WebAssembly) 和服务器端 (ASP.NET API) 项目:

在此处输入图片说明

在此处输入图片说明

第一次尝试通过我们的组件中的 Blazor 的 HttpClient 类请求 API FetchData

@inject HttpClient Http
...
@code {
    private TodoItem[] TodoItems;

    protected override async Task OnInitializedAsync()
    {
        TodoItems = await Http.GetJsonAsync<TodoItem[]>("api/ToDo");
    }
}
Run Code Online (Sandbox Code Playgroud)

在服务器端,API-Controller 看起来像:

namespace ToDoListAPI.Controllers
{
    [Route("api/[controller]")]
    [ApiController]
    [Produces("application/json")]
    public class ToDoController : ControllerBase
    {
        [HttpGet]
        public string IGetAll() 
        {
            var lResult = …
Run Code Online (Sandbox Code Playgroud)

asp.net-web-api single-page-application asp.net-core blazor asp.net-blazor

9
推荐指数
2
解决办法
6428
查看次数