【问题标题】:How to enable CORS on a blazor webassembly, hosted by a razor pages app with controller API services如何在具有控制器 API 服务的 razor pages 应用程序托管的 blazor webassembly 上启用 CORS
【发布时间】:2022-06-23 08:57:54
【问题描述】:

我有一个带有各种 razor pages 组件的 blazor web 程序集项目,每个组件都嵌入到 razor pages web 应用程序的不同 razor pages 中,并利用 blazor HttpClient 与 razor pages 应用程序中的 MVC API 控制器进行通信。 连接到 API 时,HttpClient 在控制台中返回 CORS 错误。 我在起始文件的适当位置添加了以下代码:

string? origins = "origins";

builder.Services.AddCors(options =>
{
     options.AddPolicy(origins,
                           policy =>
                           {
                                policy.WithOrigins("http://localhost:9999")
                                                   .AllowAnyHeader()
                                                   .AllowAnyMethod();
                           });
});

app.UseCors(origins);

但这仍然显示在浏览器控制台中:

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource

请问怎么办?

【问题讨论】:

    标签: c# razor-pages blazor-webassembly c#-6.0


    【解决方案1】:

    确保将该 CORS 应用到托管您的 Blazor WASM 的应用上,而不是 blazor wasm 项目上。确保将 builder.Services.AddCors(...) 放在 builder.Build() 之前。

    您可以进一步阅读本文档,了解启用 cors 的各种方法。 https://docs.microsoft.com/en-us/aspnet/core/security/cors?view=aspnetcore-6.0#attr

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-17
      • 2021-10-26
      • 2020-07-22
      • 2023-01-19
      • 1970-01-01
      • 2022-11-19
      相关资源
      最近更新 更多