2012-02-02 26 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

相關問題