簡體   English   中英

在 ASP.NET Core Web API 設置生產環境的launchurl

[英]Set launchurl for production environment in ASP.NET Core Web API

我在我的 Web API (ASP.NET Core 3.1) 中實現了 Swagger 並且我的啟動 url 是/swagger 我已經按順序編輯了launchSettings.json ,它在我的開發機器上運行良好,但在生產服務器上發布后就不行了。

我讀到launchSettings.json只在本地開發機器上使用,如果我想在生產機器上使用這些設置中的某些設置,我需要將這些設置存儲在appsettings.json文件中。

但是我找不到如何設置這個文件。 一些幫助將不勝感激,提前致謝。

您可以查看此ASP.NET Core Environments

將生產配置文件添加到您的 launchsettings.json 文件。

在 launchSettings.json 中,啟動 URL 是應用程序啟動時打開的頁面。 這是您正在尋找的設置嗎? (我認為在生產環境中這不是相關設置。)

如果我在生產環境中是正確的,則在瀏覽器中打開 /swagger URL 時不會加載它。 其原因可能是“if (env.IsDevelopment) {...}”或 Startup 類中的類似內容,它有條件地添加了 swagger 中間件。

當我們從 Visual Studio 或使用 .NET Core CLI 運行 .NET Core 應用程序時,將使用此文件中存在的設置。

您需要記住的最重要的一點是這個launchSettings.json文件僅在本地開發機器中使用 這意味着當我們將 asp.net 核心應用程序發布到生產服務器時不需要此文件。

如果您有某些設置,並且希望您的應用程序在將 asp.net 核心應用程序發布和部署到生產服務器時使用這些設置,那么您需要將這些設置存儲在appsettings.json文件中。 通常,在 ASP.NET Core 應用程序中,配置設置將存儲在appsettings.json文件中。

你可以閱讀這篇關於這個主題的好文章: 文章

正如其他人指出的launchSettings.json環境僅在本地開發機器中使用。

在這里,您可以通過端點重定向在生產服務器中實現它的簡單方法:

啟動.cs

app.UseSwagger();
app.UseSwaggerUI();

app.UseHttpsRedirection();

app.UseRouting();

app.UseEndpoints(endpoints =>
{
    endpoints.MapGet("/", context => {
        context.Response.Redirect("swagger");
        return Task.CompletedTask;
    });
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM