我希望将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>
编辑
Web 应用程序的部署实践远远超出了我想要做的范围。我需要一个代码解决方案,允许我更改 ELMAH Sql 错误日志的数据源...
我无法改变我们今天部署 Web 应用程序的方式。这意味着,无论 TEST 是什么,都会转移到 CERT。CERT 中的内容移至 PROD。Web 应用程序必须能够确定它所在的环境并运行...