2017-02-20 71 views
-1

我一直在嘗試將ELMAH集成到我的應用程序中,該應用程序是一個後端調用API的網站。到目前爲止,這很容易,現在我試圖使用它的數據庫功能。它在我的數據庫中插入行沒有任何問題,但是當它通過API的源代碼時,User列變爲空。每次ELMAH插入新行時,是否有辦法手動添加用戶數據?在ELMAH中手動插入用戶

回答

0

首先,我不明白爲什麼人們對這個問題保持低調。根據我的博客文章:Enrich ELMAH errors using error filtering hook中的解釋,將用戶設置爲所有ELMAH錯誤是一個完全有效的問題,可以通過使用錯誤過濾來實現。

綜上所述,您需要手動執行ErrorLog_Filtering方法和設置User屬性:

void ErrorLog_Filtering(object sender, ExceptionFilterEventArgs args) 
{ 
    var httpContext = args.Context as HttpContext; 
    if (httpContext != null) 
    { 
     var error = new Error(args.Exception, httpContext); 
     error.User = GetUserFromDatabase(); 
     ErrorLog.GetDefault(httpContext).Log(error); 
     args.Dismiss(); 
    } 
}