Dot-Net
在程式碼中更改 ELMAH 數據庫
我有幾個擁有獨立 ELMAH 數據庫的網站。我想有一個單獨的網站來查看所有這些數據庫。
為此,我創建了一個新的 ASP.NET MVC 4 網站。我添加了 NuGet 包“Elmah.MVC”並將以下內容添加到 Web.config:
<connectionStrings> <add name="Elmah.Sql" connectionString="..." /> </connectionStrings> <elmah> <errorLog type="Elmah.SqlErrorLog" connectionStringName="Elmah.Sql" /> </elmah>這適用於單個數據庫。我也可以通過更改連接字元串來切換數據庫,但現在我希望能夠從程式碼切換數據庫。有沒有辦法做到這一點?
ELMAH 有一個用於自定義錯誤日誌的類。你只需要像這樣實現這個類
public class YourErrorLog : SqlErrorLog { public override string ConnectionString { get { //return any connection string that you want } } }在此實現中,您可以讀取所需的任何連接字元串。最後,您可以通過以下方式告訴 ELMAH 知道該 ErrorLog
<elmah> <errorLog type="YourAssembly.YourErrorLog, YourAssembly" connectionStringName="elmah-sqlserver" /> </elmah>您可以在此處查看詳細資訊
我還在這裡找到了你的一個例子
希望這有幫助。