2012-02-02 69 views
0

虽然我在一段时间内完成了非常基本的任务,但我在ASP.NET编码中相当绿色。什么创建了Web.config appSettings条目?

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

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

一位同事和我都在看Web.config文件,并根据<configuration>段注意到了这一点:

<appSettings> 
    <add key="HR_EMAIL" value="[email protected]"/> 
    <add key="APP_MODE" value="TEST"/> 
    <!-- PROD is the production value for ssl pages --> 
    <add key="HR_EMAIL_SITE_A" value="[email protected]"/> 
    <add key="HR_EMAIL_SITE_B" value="[email protected]"/> 
</appSettings> 

其中[email protected]用于列出我的实际电子邮件地址。

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

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

我想我的本地机器上配置的东西(也许在machine.config)进入并更新这些值,每当我重建项目。

我已经使用了最近由微软发布的演练(Walkthrough: Creating a Web Site with Membership and User Login),但它在不同的项目中。

什么改变了这些值?我的睡眠当然没有这样做!

回答

0

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

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

+0

很难理解你所说的,但我***觉得***这是发生了什么事。 – jp2code 2012-02-10 17:31:49

+0

您的web.config文件包含您的项目设置。如果您从本地部署配置文件到DEV,QA或PROD,那么您可能会重写该环境应该存在的内容。这就是为什么(在大多数情况下)配置文件从不从环境迁移到环境的原因。有一些方法可以解决这个问题,比如将配置设置提取到网站根目录之上的目录,如在开发过程中您会发现,您签入源代码控制的内容并不总是您想要部署到PROD的内容。 – 2012-02-10 17:46:46

1

有可能是有人将这些值提交给源代码管理。

您已获得最新值 - 可能您的同事暂时未更新此文件。

查看Source Safe中的文件历史记录,查看此值发生了什么。

1

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

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

我看到了另一个场景,其中设置将由构建/发布脚本更新。

+0

你不会碰巧知道我该如何去确认这一点,是吗? – jp2code 2012-02-03 15:10:50

相关问题