0

私はASP.Net Webアプリケーション開発を初めて利用しています。ASP.NET Web App - デバッガの接続文字列

デバッグ時に特定の接続文字列が使用される(F5キーを押す)ASP.NET Webアプリケーションがあります。私は(F5キーを押して)デバッグするとき、ここティル

<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> 

:以下は、接続文字列とアプリの設定は、ファイルのWeb.configです。実行はスムーズです。

私は、接続文字列からTESTをコメントアウトし、このような二次の接続文字列を追加する場合:

<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を押す)アプリをデバッグし、nullポインタ例外があります。次のように実行の詳細は、次のとおりです。

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

、(それがあるとしてコメントTEST接続文字列を残しながら)私はこのようなテストから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ファイルの変換を使用して覗くことが必要だと思うやろうとしているものを見ていただき、ありがとうございます。

は、あなたがあなたのweb.configファイルではなく、あなたのコードでそれを変更した場合、名前の参照が探しているものは、アプリの設定であるので、それがあることを正しい対象Transform Web.Config

にこれは本当に素敵なガイドを見てくださいあなたに叫ぶつもり! ;-)

ConfigurationMananager.Connections["Test_Two"].ConnectionString

これは、あなたのコード内で探しているものです。デバッグとリリースのための別のDB接続文字列が必要な場合は、web.configトランスフォームがそこに入ります。

これが役に立ちます。

関連する問題