0

Ich bin neu in ASP.Net Web App Entwicklung und ich versuche zu lernen.ASP.NET Web App - Verbindungszeichenfolge für Debugger

Ich habe eine ASP.NET-Webanwendung, bei der eine bestimmte Verbindungszeichenfolge beim Debuggen verwendet wird (Drücken von F5). Im Folgenden sind die Verbindungszeichenfolgen und App-Einstellungen in Web.config Datei:

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

Bis hier, wenn ich (F5) debuggen. Die Ausführung ist glatt.

Wenn ich den Test von Verbindungszeichenfolge auf Kommentar, und fügen Sie eine sekundäre Verbindungszeichenfolge wie folgt aus:

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

und Debuggen der Anwendung (F5), gibt es eine Null-Zeiger-Ausnahme. Die Ausführung Detail ist wie folgt:

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

Nun, wenn ich den Wert der Umwelt in App-Einstellungen von Test test_two ändern (während der kommentierten TEST Verbindungszeichenfolge zu verlassen, wie es ist) wie folgt aus:

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

und Debuggen der App (Drücken von F5), ist die Ausführung reibungslos.

Ich glaube, der "Umgebung" Schlüssel aus App-Einstellungen wird verwendet, um die Verbindungszeichenfolge beim Debuggen zu identifizieren. Ich möchte wissen, ob ich hier richtig oder falsch bin.

Wenn ich falsch liege, wie kann ich eine bestimmte Verbindungszeichenfolge für das Debuggen zuweisen.

Danke

Antwort

2

Blick auf das, was Sie versuchen, in ich glaube, Sie müssen zu tun suchen web.config Transformationen.

Werfen Sie einen Blick auf diese wirklich schöne Anleitung zum Thema Transform Web.Config

Sie sind richtig, dass der Name Referenz ist, was App-Einstellungen für so sucht, wenn Sie es in Ihrer web.config und Ihren Code nicht ändern ist werde dich anschreien! ;-)

ConfigurationMananager.Connections["Test_Two"].ConnectionString

Dies ist, was Sie in Ihrem Code suchen. Wenn Sie jedoch eine andere DB-Verbindungszeichenfolge für debug vs release möchten, dann kommt Ihre web.config-Transformation in diese Zeile.

Hoffe, das hilft.

Verwandte Themen