.NET Aspire中的scalar返回NetworkError when attempting to fetch resource 如何解决
在.NET Aspire中使用swagger或者scalar做测试时发现,无论哪个API接口,返回的结果都如下图所示(NetworkError when attempting to fetch resource):

这个问题是由于.NET Core在使用OpenApi时没有转发正确的网络地址导致的
正确的地址(端口号7234):

scalar中的地址(错误端口号10050):

可以通过添加配置,从而正确转发网络地址(端口号7234):
app.MapScalarApiReference(options => options.Servers = []);

另一种方式是使用跨域解决该问题:
builder.Services.AddCors(options =>
{
options.AddPolicy("GetorPost",
builder =>
builder.AllowAnyOrigin().WithMethods("GET", "POST")
.AllowAnyHeader());
});
-------------分割线(省略部分代码)-----------
app.UseCors("GetorPost");
但是这样做并不会显示正确的地址,只是在测试时会返回正确的结果。因此,优先选择第一种方式。
可以在github中找到相似的问题:
https://github.com/dotnet/aspnetcore/issues/57332#issuecomment-2479286855
或者是stackoverflow:

浙公网安备 33010602011771号