在獲得實際Web服務進行處理之前,所有流量都經過的「流量警察」服務將增加您的解決方案的額外開銷。然後,您也會遇到類似問題,例如,您在登錄某個特定Web服務的電話後,如何確定響應是否成功?然後你想做更多的日誌記錄,最後把結果返回給客戶端。如果我明白你說的是正確的話(我不完全相信我會這樣做),你會看到類似的東西;
Client -> TrafficCop -> Service1
Client -> TrafficCop -> Service2
OR
Client -> Service1 -> TrafficCop
...這取決於你想要的入口點,你需要做什麼。
我可能會完全刪除交通警察Web服務,並實施一些API以便您的服務實現,並讓每個Web服務在調用服務操作之前以及操作完成後記錄一些信息。我建議你看看這個鏈接; http://msdn.microsoft.com/en-us/magazine/cc163302.aspx涵蓋行爲,操作調用者和參數檢查員。
這樣,每個Web服務都可以記錄信息,檢查訪問,規則,在執行之前和之後向數據庫或其他TrafficCop Web服務報告錯誤(如果您真的想的話)。但我可能傾向於將所有這些信息都保存在自己的數據庫中。因此,每個Web服務(取決於你在做什麼)可能連接到兩個數據庫。一個用於Web服務本身(如果需要的話),另一個用於TrafficCop /日誌記錄數據庫。
在稍後的日期,您可以選擇添加一個網站,將所有信息從交通警察數據庫中提取出來,並允許您輕鬆瀏覽/搜索它。它可能會突出顯示警告或其他Web服務記錄的問題。
摘要
如果你需要做的就是採伐和相關的功能,我會考慮讓每個Web服務器日誌文件和/或之前和/或服務操作被調用後檢查規則和其他的東西。在以後的日子裏,您可以考慮添加一個管理站點來顯示所有這些信息,以便您可以輕鬆地關注Web服務的表現。您甚至可能希望記錄信息,例如響應某些請求需要多長時間。
如果這不是你想要的,我會建議你添加更多信息並繼續保持你的原始問題是最新的。
請澄清你的問題。您的Traffic Cop執行什麼樣的控制操作?它會在看另一個服務,還是不止一個?它會在不同於它所觀看的服務的機器上運行嗎?什麼會告訴交通警察要做什麼(quis custodiet ipsos custodes)? – 2009-07-24 19:48:17