创建Web.config appSettings条目的原因是什么?

时间:2012-02-02 20:01:49

标签: visual-studio-2010 configuration web-config

我在ASP.NET编码方面相当优雅,尽管我已经做了一段时间非常基本的任务。

最近,我被分配了我们公司的网站,所以我正在学习更多细节。

我从Source Safe下载了该项目,我正在对代码进行更改。

一位同事和我正在查看Web.config文件,并在<configuration>部分注意到这一点:

<appSettings>
  <add key="HR_EMAIL" value="myEmailAddress@work.com"/>
  <add key="APP_MODE" value="TEST"/>
  <!-- PROD is the production value for ssl pages -->
  <add key="HR_EMAIL_SITE_A" value="myEmailAddress@work.com"/>
  <add key="HR_EMAIL_SITE_B" value="myEmailAddress@work.com"/>
</appSettings>

其中myEmailAddress@work.com用于列出我的实际电子邮件地址。

我的同事说:“哦,你已经改变它并删除了我的电子邮件地址。”

呃,不,我没有!如果这些人给我发电子邮件,我可以少关心!

我猜测我的本地计算机上配置的内容(可能在machine.config)进入并在我重建项目时更新了这些值。

我使用了最近由Microsoft发布的演练(Walkthrough: Creating a Web Site with Membership and User Login),但它是在另一个项目中。

是什么改变了这些价值观?当然,我在睡梦中没有这样做!

3 个答案:

答案 0 :(得分:1)

有人可能会将这些值提交给源代码控制。

你得到了最新的价值 - 可能你的同事有一段时间没有更新这个文件。

查看“源安全”中的文件历史记录,了解此值发生了什么。

答案 1 :(得分:1)

顾名思义,

部分特定于存储自定义设置的应用程序。在ASP .NET 2之前,此部分用于存储Web应用程序使用的连接字符串等内容。

在你的情况下,我猜你有一个管理站点/系统正在写你的电子邮件地址到app.config。

我见过另一个场景,其中的设置将由构建/发布脚本更新。

答案 2 :(得分:0)

您可能会发现由于环境的差异,在大多数情况下,您不会将环境中的web.config部署到环境中。您不希望测试设置,例如连接字符串,电子邮件等被预先投入生产。

当您可能在寻找时,VSS中的配置是本地测试副本,而生产副本具有不同的值。