我在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),但它是在另一个项目中。
是什么改变了这些价值观?当然,我在睡梦中没有这样做!
答案 0 :(得分:1)
有人可能会将这些值提交给源代码控制。
你得到了最新的价值 - 可能你的同事有一段时间没有更新这个文件。
查看“源安全”中的文件历史记录,了解此值发生了什么。
答案 1 :(得分:1)
部分特定于存储自定义设置的应用程序。在ASP .NET 2之前,此部分用于存储Web应用程序使用的连接字符串等内容。
在你的情况下,我猜你有一个管理站点/系统正在写你的电子邮件地址到app.config。
我见过另一个场景,其中的设置将由构建/发布脚本更新。
答案 2 :(得分:0)
您可能会发现由于环境的差异,在大多数情况下,您不会将环境中的web.config部署到环境中。您不希望测试设置,例如连接字符串,电子邮件等被预先投入生产。
当您可能在寻找时,VSS中的配置是本地测试副本,而生产副本具有不同的值。