gpt4 book ai didi

c# - 如何配置 ASP.NET 应用程序的环境?

转载 作者:太空宇宙 更新时间:2023-11-03 22:05:03 25 4
gpt4 key购买 nike

允许 ASP.NET 应用程序知道它在哪个环境中运行的推荐方法是什么?我的应用程序可以在这些环境中运行:

  • 在 Visual Studio 中调试
  • 自动化系统测试
  • 在临时服务器上部署
  • 在生产服务器上部署

在这些环境中的每一个中,应用程序都需要一些不同的配置。环境之间的主要区别在于使用哪些数据库连接设置,但也存在其他差异。

这是我试过的:

  • 我试过在 Visual Studio 中使用“配置”选项。默认情况下有两个:Release 和 Debug。我试图用我的四个环境的标识符替换这两个。然后可以使用这些配置将转换应用到 Web.config 文件。这里的问题是选择配置发生在构建时,我想编译我的应用程序然后选择环境,然后再在 Web 服务器上运行它。在 Visual Studio 中调试时也不会发生 Web.config 转换,因此它没有告诉应用程序它在调试环境中运行,而是没有环境。我在 Use Visual Studio web.config transform for debugging 找到了解决方法但似乎效果不佳。我必须更改项目属性中的配置,这是一个缓慢的过程。
  • 我试过使用环境变量。这样我就可以从应用程序外部设置一个变量 MYAPP_ENV=dev,并且我可以在 C# 中将其读取为
    string env = System.Environment.GetEnvironmentVariable("MYAPP_ENV");
    但是我不确定如何从 Visual Studio 和 IIS 中设置这个环境变量。我无法在机器上全局设置它,因为同一台机器需要能够在多个环境中运行该应用程序。

那么,在 ASP.NET 中推荐的做法是怎样的呢?在 Ruby on Rails 中,我将使用 RAILS_ENV 环境变量,而在 PHP 中,我将包含一个文件,该文件未 checkin 存储库并添加到版本控制系统的忽略列表中。

最佳答案

我会为您的每个环境准备单独的 web.config 文件。

或者,您也可以通过添加外部配置文件来设置类似于您对 PHP 包含文件所做的设置。

只需将以下内容添加到您的 web.config。

<appSettings file="MySettings.config">

然后添加一个名为 MySettings.config 的新文件,其中包含您的其余配置信息。

关于c# - 如何配置 ASP.NET 应用程序的环境?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8744635/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com