[英]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.