0

我是ASP.Net Web應用程序開發的新手,我正在嘗試學習。ASP.NET Web應用程序 - 用於調試器的連接字符串

我有一個ASP.NET Web應用程序,其中調試時使用特定的連接字符串(按F5)。下面是的Web.config文件的連接字符串和應用程序設置:

<appSettings> 
    <add key="Environment" value="TEST"/> 
</appSettings> 
<connectionStrings> 
    <add name="TEST" connectionString="Server=mySQLExpressServerAddress;Database=myDataBase;Trusted_Connection=True;" /> 
    <add name="DEV" connectionString="a connection to the test server db" /> 
    <add name="PROD" connectionString="a connection to the prod server db" /> 
</connectionStrings> 

到這裏,當我調試(按F5)。執行順利。

當我註釋掉連接字符串的考驗,並添加輔助連接字符串是這樣的:

<appSettings> 
    <add key="Environment" value="TEST"/> 
</appSettings> 
<connectionStrings> 
    <!-- <add name="TEST" connectionString="Server=mySQLExpressServerAddress;Database=myDataBase;Trusted_Connection=True;" /> --> 
    <add name="TEST_TWO" connectionString="Server=mySQLExpressServerAddress;Database=myDataBase;Trusted_Connection=True;" /> 
    <add name="DEV" connectionString="a connection to the test server db" /> 
    <add name="PROD" connectionString="a connection to the prod server db" /> 
</connectionStrings> 

和調試應用程序(按F5鍵),還有一個空指針異常。執行細節如下:

System.NullReferenceException was unhandled by user code 
    HResult=-2147467261 
    Message=Object reference not set to an instance of an object. 

現在,如果我在應用程序設置中更改環境的價值,從測試到test_two(而留下,因爲它是評價測試連接字符串)是這樣的:

<appSettings> 
    <add key="Environment" value="TEST_TWO"/> 
</appSettings> 
<connectionStrings> 
    <!-- <add name="TEST" connectionString="Server=mySQLExpressServerAddress;Database=myDataBase;Trusted_Connection=True;" /> --> 
    <add name="TEST_TWO" connectionString="Server=mySQLExpressServerAddress;Database=myDataBase;Trusted_Connection=True;" /> 
    <add name="DEV" connectionString="a connection to the test server db" /> 
    <add name="PROD" connectionString="a connection to the prod server db" /> 
</connectionStrings> 

並調試應用程序(按F5),執行順利。

我相信,應用程序設置中的「環境」鍵用於在調試時識別連接字符串。我想知道我在這裏是否正確或錯誤。

如果我錯了,我如何分配一個特定的連接字符串進行調試。

謝謝

回答

2

在你正在嘗試做的,我認爲你需要尋找到使用的web.config變換展望。

看一看關於這個問題Transform Web.Config

你是正確的這個非常好的指南,該名稱的引用什麼應用程序設置中找,所以如果你改變它在你的web.config,而不是你的代碼是要喊你! ;-)

ConfigurationMananager.Connections["Test_Two"].ConnectionString

這是你在找什麼在你的代碼。但是如果你想要一個不同的數據庫連接字符串進行調試vs發佈,那麼這就是你的web.config變換的地方。

希望這會有所幫助。

相關問題