2009-06-03 130 views
2

爲WCF服務調用創建包裝的最佳做法是什麼?我認爲這是必要的 監視在同一地點的所有電話,我想使用這種類型的代碼,這是正確的想法?WCF服務調用包裝

RetType t = ServiceExecutionContext<IServiceChanel>.Execute(s=>s.GetServiceMethod()); 


您在企業應用程序中使用了什麼樣的包裝?
非常感謝!

+2

我想大多數人根本不使用包裝。請詳細說明你爲什麼要使用它們,以及爲什麼你認爲每個人都使用它們。 – 2009-06-03 12:54:50

+0

我不認爲每個人都使用它們,但我認爲有必要在同一個地方進行各種服務異常處理和服務調用日誌記錄......是不是? – 2009-06-03 12:57:43

回答

6

WCF有一個模型,允許你在服務調用鏈中。如果你所要做的只是一些日誌記錄(如果你在配置文件中打開診斷功能,那麼WCF已經非常擅長)以及像你的服務一樣的常見事情,我會使用它而不是試圖包裝每個服務調用調用。

Here is a good MSDN article關於如何爲WCF服務創建自定義行爲。

1

如果需要,請自行編寫Message Inspector

WCF也有message logging內建。默認情況下,您可以使用System.Diagnostics.XmlWriterTraceListener輕鬆將其記錄到文件中,但是如果您需要在其他位置(例如數據庫)寫入日誌,則可以編寫自己的trace listener

我會推薦這種方法通過消息檢查...消息檢查員太容易寫錯誤,傷害性能不知道你在做什麼。