2011-08-09 43 views

回答

0

你有沒有在教程中通過手?他們有一個專用於企業庫的每個功能的部分,包括異常日誌記錄。 http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=6932

+1

嗨Odnxe,我讀了實驗室的手,但在這個實驗室裏沒有提到使用數據庫的異常處理。我嘗試配置配置文件,但我不知道是否需要創建存儲過程或表或需要創建哪些內容才能使其工作? – fcartu

0

第一步:配置日誌塊以登錄到數據庫。有一個實驗室。 第二步:配置異常塊以記錄異常。有一個實驗室。 第三步:將異常塊指向寫入數據庫的日誌類別。

就是這樣。關於將異常記錄到數據庫沒有什麼特別之處。異常塊將寫入日誌塊。日誌塊就像處理其他日誌操作一樣對待它們。按照設置數據庫日誌的說明進行操作,基本完成。

+0

嗨克里斯,我配置了所有你說的步驟,應用程序運行沒有問題,但是當我檢查數據庫表時,沒有記錄。我正在使用Oracle數據庫,並將sql腳本從sql server更改爲oracle,我不知道這是否會影響某些內容。 – fcartu

+0

Entlib團隊從來不支持將數據庫跟蹤偵聽器用於除Sql Server以外的任何其他應用程序。我的建議是嘗試調用直接配置的日誌記錄sprocs,然後查看錶中是否顯示了事件。當你的零件在沒有圖塊的情況下工作時,請按照日誌塊(應該只是在那一點上)工作。 –

+0

克里斯,我嘗試調用sprocs,它工作正常。問題是當我調用ExceptionPolicy.HandleException(e,「UIPolicy」);該應用程序不會拋出任何錯誤或異常,它正常執行,但在數據庫中沒有任何保存。 – fcartu

4

您需要針對數據庫運行腳本,以便爲您創建特定的表結構。此外,還會創建一個存儲過程,您必須在Trace Listener的配置部分中引用該存儲過程。你應該能夠在這裏找到這個腳本文件:C:\ EntLib41Src \ Blocks \ Logging \ Src \ DatabaseTraceListener \ Scripts文件夾。我知道這是針對圖書館版本4的,但是看看版本5,我意識到文件夾結構已經發生了變化,腳本文件夾沒有在視線之內。但是,該網站here應該爲您提供一些指導。

你也可以嘗試MSDN Documentation


所以,我做多一點調查的EntLib50Src \塊神祕失蹤\登錄\ SRC \ DatabaseTraceListener \ Scripts文件夾。結果是,如果你像我一樣使用MSI將Entlib5安裝到你的計算機上。實際上,如果您使用的是64位PC或C:\ Program Files \ Microsoft Enterprise Library 5.0,則實際上可以運行一個源代碼MSI,深埋在C:\ Program Files文件(x86)\ Microsoft Enterprise Library 5.0 \ src中\ src如果你不是。運行這個MSI,它將安裝Entlib5的源代碼以及缺少的Scripts文件夾。