Ich bin auf der Suche nach ELMAH in eine bestehende ASP.NET-Anwendung zu weiteren Fehleruntersuchungen zu unterstützen und könnte einige Hilfe mit den Verbindungszeichenfolgen verwenden . Wir verwenden eine einzige web.config-Datei für alle oder unsere Umgebungen, in denen die Anwendung bereitgestellt wird, und zur Laufzeit entscheidet die App, in welcher Umgebung sie sich befindet, normalerweise basierend auf URL.Elmah - ASP.NET -> Mehrere Verbindungszeichenfolgen -> SQL-Fehlerprotokoll Verbindungszeichenfolge in Code
Dies ist, was ein Standard-Block wie für uns möchte ...
<connectionStrings>
<add name="TESTAppDB" connectionString="Data Source=SQL-T-APPNAME.COMPANY.COM;Initial Catalog=APPNAME;User ID=USER;Password=THEPASS" providerName="System.Data.SqlClient"/>
<add name="CERTAppDB" connectionString="Data Source=SQL-C-APPNAME.COMPANY.COM;Initial Catalog=APPNAME;User ID=USER;Password=THEPASS" providerName="System.Data.SqlClient"/>
<add name="PRODAppDB" connectionString="Data Source=SQL-P-APPNAME.COMPANY.COM;Initial Catalog=APPNAME;User ID=USER;Password=THEPASS" providerName="System.Data.SqlClient"/>
</connectionStrings>
Mit Elmah, es scheint, dass Sie nur den Namen der Verbindungszeichenfolge angeben müssen, aber wie kann ich das dynamisch tun zur Laufzeit? Zum Beispiel, wenn ich Test bin, dann will ich dies:
<elmah>
<errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="TESTAppDB"/>
</elmah>
aber wenn ich in ART bin:
<elmah>
<errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="PRODAppDB"/>
</elmah>
EDIT
Die Bereitstellungsverfahren für Web-Anwendungen sind gut aus der Spielraum für das, was ich versuche zu tun. Ich brauche eine Codelösung, die es mir erlaubt, die Datenquelle für das ELMAH Sql Error Log zu ändern ...
Ich kann die Art, wie wir heute Web-Apps bereitstellen, nicht ändern. Das heißt, was auch immer in TEST ist, bewegt sich zu CERT. Was in CERT ist, wird zu PROD verschoben. Die Webanwendung muss in der Lage sein zu bestimmen, in welcher Umgebung sie sich befindet und als solche ausgeführt wird ...
Guten Ruf auf die Fähigkeit, den Code zu greifen. Ich setze den CustomConnectionString vom Global.asax Session_Start und es arbeitet wie ein Charme! – RSolberg
Nochmals vielen Dank für Ihre Hilfe zu diesem Thema. – RSolberg
Könnte Wartung Kopfschmerzen sein, um tatsächlich ELMAH zu modifizieren. Können Sie einfach eine neue Klasse von SqlErrorLog erben und die Änderungen vornehmen? –