我想通过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");