我剛剛繼承了一個非常古老的ASP.NET 2.0 Web應用程序。web.config與.dll中的app.config
在應用程序中它有幾個支持類庫項目。在DataAccess類庫中,是一個名爲ConnString1的連接字符串的app.config(和setting.settings文件)。
我始終認爲,一個.DLL不能擁有的app.config/setting.settings文件(或者至少可以包括他們,但他們不會被使用),所以這是令人困惑我。
web.config中也有一個名爲ConnString1在同一服務器登錄憑據的連接字符串,但不同的服務器名稱。
當我運行從Visual Studio調試應用程序,它使用的是位於在app.config /設置文件的連接字符串,而不是在web.config/machine.config中定義的。
我以爲.DLLs不會這樣做,但使用web.config呢?
然而,當我推在釋放模式這種應用對我們的生產服務器(測試網站),這似乎是使用在web.config中正確的連接字符串。
任何人都可以解釋這一點嗎?
很高興找到它。下一步應該是與所涉及的各種人員舉行會議,並向他們解釋連接字符串不屬於機器或環境配置文件。 – NotMe
我不認爲這是事實。將連接字符串放在machine.config中意味着您可以通過dev - > test - > production來升級您的應用程序(及其配置文件),而無需在每一步都手動修改配置。 – Jason
正確。我們處於有20個不同網站的環境中。由於列級別加密,它們都使用相同的連接字符串(只允許一個登錄名在數據庫級別對列進行加密/解密)。把這個連接字符串放在machine.config中比較容易,然後每個季度都要在web.config中修改它(這是我們的安全標準所要求的)。 – Sean