有没有替代Web的方法?配置Asp中的转换.. NET Core appsettings.json



是否有替代Web。配置Asp中的转换。. NET Core appsettings.json?

我想在部署到登台时更改连接字符串和其他设置。

首先,请记住,

ASP。. NET Core的配置系统已经从以前的ASP版本中重新构建。它依赖于System.Configuration和XML配置文件,如web.config。新的配置模型提供了对基于键/值的设置的流线型访问,这些设置可以从各种来源检索。

使用ASP中的设置。. NET应用程序,建议您只在应用程序的Startup类中实例化Configuration。最简单地说,Configuration只是一个源的集合,它提供了读写名称/值对的能力。

ASP。. NET Core提供了对JSON、XML和INI配置文件作为源的内置支持,并允许根据当前环境选择源。ASPNETCORE_ENVIRONMENT环境变量用于设置/确定当前环境。预定义值为DevelopmentStagingProduction,也可以自定义。

假设你想使用JSON文件(命名为appsettings.json约定)来存储连接字符串。您需要做的是创建一个单独的appsettings.{EnvironmentName}.json文件(针对您拥有的每个环境),如:

  • appsettings.Development.json
  • appsettings.Staging.json
  • appsettings.Production.json

并相应地加载其中一个到environment:

.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true);

在ASP. net的"配置"一章和"使用多个环境"一章中阅读更多关于这一切的内容。

是的,您必须在目标系统上使用环境变量。

ASP。. NET Core引用一个特定的环境变量ASPNETCORE_ENVIRONMENT来描述应用程序当前运行的环境。该变量可以设置为您喜欢的任何值,但是按照惯例使用三个值:Development、Staging和Production。您可以在ASP提供的示例和模板中找到这些值。网络核心。

确定运行时的环境

IHostingEnvironment服务提供了处理环境的核心抽象。该服务由ASP提供。. NET托管层,并且可以通过依赖注入注入到启动逻辑中。ASP。Visual Studio中的。NET Core网站模板使用这种方法来加载特定于环境的配置文件(如果存在的话),并自定义应用程序的错误处理设置。在这两种情况下,通过调用传入适当方法的IHostingEnvironment实例上的EnvironmentName或IsEnvironment来引用当前指定的环境,从而实现此行为。

https://docs.asp.net/en/latest/fundamentals/environments.html

相关内容

  • 没有找到相关文章

最新更新