エラー調査をさらにサポートするために、ELMAHを既存のASP.NETアプリケーションに統合しようとしています。 。アプリケーションがデプロイされているすべての環境に単一のweb.configファイルを使用し、実行時には、アプリケーションがどの環境にあるかを、通常はURLに基づいて決定します。Elmah - ASP.NET - >複数の接続文字列 - >コードにSQLエラーログの接続文字列を設定する
これは...標準ブロックは、私たちのためのように希望のものをELMAHで
<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>
あり、あなただけで、接続文字列の名前を指定する必要があると表示されますが、どのように私は、動的にこれを行うことができます実行時に?
<elmah>
<errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="TESTAppDB"/>
</elmah>
が、私はPRODにいる場合:たとえば、私がテストしていた場合、私は、この欲しい
<elmah>
<errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="PRODAppDB"/>
</elmah>
EDIT Webアプリケーションのための
展開慣行が出てもいます私がしようとしていることの範囲。 ELMAH Sqlエラーログのデータソースを変更できるコードソリューションが必要です。
私たちは現在、Webアプリケーションの展開方法を変更できません。つまり、TESTにあるものは何でもCERTに移ります。 CERTの何がPRODに移ります。 Webアプリケーションは、それがどのような環境にあるかを判断できなければなりません。
良いコードを取得する機能を呼び出します。私はCustomConnectionStringをGlobal.asax Session_Startから設定し、その魅力のように働いています! – RSolberg
これに助けてくれてありがとう。 – RSolberg
実際にELMAHを修正するにはメンテナンスの手間がかかるかもしれません。 SqlErrorLogから新しいクラスを継承して変更できますか? –