标量 ASP.NET Core 8 Web API - 部署到 IIS

问题描述 投票:0回答:1

我在将 ASP.NET Core Web API 部署到 IIS 时遇到问题。我无法使用

'/scalar/v1'
一切都只是白色来访问标量 UI。

当我在本地运行它时,一切正常,我可以直接测试我的API或使用Postman。它只是在部署到 IIS 时发生。

Program.cs

builder.Services.AddSwaggerGen();

var app = builder.Build();

// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
    app.UseSwagger(options =>
    {
        options.RouteTemplate = "/openapi/{documentName}.json";        
    });
    app.MapScalarApiReference(options =>
    {
        options.Title = "My - API";        
    });
}

app.UseHttpsRedirection();
app.UseAuthentication();
app.UseAuthorization();

app.MapControllers();

app.Run();

white-blank screen

我尝试包含和删除环境检查,因为this被检查为答案,但我仍然遇到同样的问题

// Configure the HTTP request pipeline.
//if (app.Environment.IsDevelopment() || app.Environment.IsProduction())
//{
    app.UseSwagger(options =>
    {
        options.RouteTemplate = "/openapi/{documentName}.json";        
    });
    app.MapScalarApiReference(options =>
    {
        options.Title = "CPS - API";        
    });
//}
iis asp.net-core-webapi
1个回答
0
投票

您应该删除 Swagger 并添加

MapOpenApi
。使用这样的东西

if (app.Environment.IsDevelopment())
{
    app.MapOpenApi();
    app.MapScalarApiReference(options =>
    {
        options
            .WithTitle("CPS - API");
    });
}
© www.soinside.com 2019 - 2024. All rights reserved.