Я собираюсь интегрировать ELMAH в существующее приложение ASP.NET для дальнейшей поддержки исследований ошибок и может использовать некоторую помощь со строками подключения. Мы используем один файл web.config для всех или наших сред, в которых развернуто приложение, и во время выполнения приложение решает, в какой среде оно находится, обычно на основе URL.
Это то, что стандартный блок хотел бы для нас ...
<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 кажется, что вам просто нужно указать имя строки подключения, но как я могу сделать это динамически во время выполнения? Например, если я тестирую, то я хочу это:
<elmah>
<errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="TESTAppDB"/>
</elmah>
но если я в PROD:
<elmah>
<errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="PRODAppDB"/>
</elmah>
EDIT
Практика развертывания веб-приложений выходит за рамки того, что я пытаюсь сделать. Мне нужно решение кода, которое позволяет мне изменять источник данных для журнала ошибок ELMAH Sql ...
Я не могу изменить способ развертывания веб-приложений сегодня. Это означает, что все, что находится в TEST, перемещается в CERT. То, что находится в CERT, перемещается в PROD. Веб-приложение должно быть в состоянии определить, в какой среде оно работает и как таковое ...