【问题标题】:Set launchurl for production environment in ASP.NET Core Web API在 ASP.NET Core Web API 中为生产环境设置 launchurl
【发布时间】:2021-07-18 18:29:45
【问题描述】:

我在我的 Web API (ASP.NET Core 3.1) 中实现了 Swagger,我的启动 URL 是 /swagger。我已经按此顺序编辑了我的launchSettings.json,它在我的开发机器上运行良好,但在生产服务器中发布后就不行了。

我读到launchSettings.json 仅在本地开发机器上使用,如果我想在生产机器上使用其中某些设置,我需要将这些设置存储在appsettings.json 文件中。

但我找不到如何设置此文件。一些帮助将不胜感激,在此先感谢。

【问题讨论】:

    标签: c# asp.net-core .net-core swagger asp.net-core-webapi


    【解决方案1】:

    您可以查看此ASP.NET Core Environments

    将生产配置文件添加到您的 launchsettings.json 文件。

    【讨论】:

    • 感谢您的回复,但据我所知launchsettings.json 仅被Visual Studio 在开发机器中使用。您可以在 orden 中设置配置文件来测试您的应用,但该文件不会在生产机器中实现。
    • 好的,将名为 appsettings.Development.json 的新文件添加到项目并配置您的 Visual Studio 运行。 appSettings.json 文件是默认的生产文件。您可以为生产配置 appSettings.json。
    【解决方案2】:

    在 launchSettings.json 中,启动 URL 是应用程序启动时打开的页面。这是您正在寻找的设置吗? (在我看来,在生产环境中,这不是相关设置。)

    如果我在生产环境中正确,当您在浏览器中打开 /swagger URL 时,它不会加载。原因可能是“if (env.IsDevelopment) {...}”或 Startup 类中的类似内容,它有条件地添加了 swagger 中间件。

    【讨论】:

    • 可以,但launchSettings.json中的设置只适用于Visual Studio,发布后没有任何影响。由于 Swagger 为 API 构建了一个用户界面和文档,我发现它在启动时加载非常有用。确实,我总是可以在 web.config 中创建重定向。
    • 我真的不明白你真正想要什么。 launchUrl 主要用于开发环境。如果您在 prod 环境中运行应用程序,那么它将在 prod 服务器上启动浏览器是没有用的。如果您想将不是 api 路由的每个请求重定向到 swagger UI,那完全是另一个问题。 launcSettings 也可以与 dotnet CLI 工具一起使用,而不仅仅是 VS:docs.microsoft.com/en-us/dotnet/core/tools/dotnet-run
    【解决方案3】:

    当我们从 Visual Studio 或使用 .NET Core CLI 运行 .NET Core 应用程序时,将使用此文件中的设置。

    您需要记住的最重要的一点是,这个 launchSettings.json 文件仅在 本地开发机器 中使用。这意味着当我们将我们的 asp.net 核心应用程序发布到生产服务器时,不需要此文件。

    如果您有某些设置并且希望您的应用程序在您发布和部署您的 asp.net 核心应用程序到生产服务器时使用这些设置,那么您需要将这些设置存储在 appsettings.json强>文件。通常,在 ASP.NET Core 应用程序中,配置设置将存储在 appsettings.json 文件中。

    你可以阅读这篇关于这个主题的好文章:Article

    【讨论】:

    • 谢谢,但这一点很清楚,我开始参考它的话题。真正的问题是:如何在生产环境中的 .net mvc web api 项目中设置默认路由? appSettings.json 是设置它的正确位置吗?怎么样?
    • 好的。您可以在 program.cs 中设置启动 url。 Check this blog
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-18
    • 2023-04-09
    • 1970-01-01
    • 2020-12-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多