Blazor服务器端和Web程序集中HttpClient的不同机制



我想通过HttpClientFactory从ASP.net核心API获取数据。我使用微软。扩展。Http包如下:

// Register service in IOC containter 
builder.Services.AddHttpClient<IProductService, ProductService>(option =>
                {
                    option.BaseAddress = new Uri(""/*Base url*/);
                });
// Use in service 
var stream = await _httpClient.GetStreamAsync("");

当我在Blazor服务器端使用代码并正常工作时。但是当我在Blazor中使用代码时,会抛出异常

CORS策略阻止了从"blazor wasm app url"获取"http客户端工厂基本url"的访问:请求的资源上不存在"Access Control Allow origin"标头。如果不透明响应满足您的需求,请将请求的模式设置为"无cors",以在禁用cors的情况下获取资源。

ASP.net核心API没有变化,结果不同。我在所有应用程序中都使用.net core 3.1感谢

我在API中激活CORS,就像这个

// In ConfigureServices method
    options.AddPolicy("OpenCors", builder =>
                {
                    builder
                          .AllowAnyOrigin()
                        .AllowAnyHeader()
                        .AllowAnyMethod()
                      ;
});
// In Configure method
app.UseCors("OpenCors");
                

相关内容

  • 没有找到相关文章

最新更新