2010-01-11 76 views
1

我有一個WCF webservice,實際上有很多webservices,都使用net.tcp並通過WAS在IIS中託管。多個客戶端正在調用這些服務,所有這些服務都是已知的,但無法控制(也就是說,我無法更改他們的代碼,因此我也無法更改這些服務)。其中一些客戶對服務不太好,導致很多錯誤,我想知道哪些是有問題的。我無法查看通過的憑據,因爲它們不使用身份驗證,我不能使用ip/port,因爲它們都來自同一個地方。我現在面臨的挑戰是找到區分這些客戶端的方法,例如通過查看調用程序集或遠程系統上標識客戶端的東西。任何人都知道這些信息?我可以訪問IIS日誌,事件查看器,跟蹤文件和它們自己的服務(我可以將任何內容放入不會中斷正常流程的代碼中)。記錄有關客戶端向WCF(WAS)發送請求的信息webservice

回答

0

看來你的問題不在於日誌機制;這是找到一種區分客戶的方法。

如果您無法控制客戶端的代碼,您是否至少可以更改它們用於端點的URL?如果是這樣,那麼我建議你在多個端點地址公開服務,然後讓每個客戶端使用一個唯一的地址。該地址將作爲客戶端的代理。

+0

你是對的。我唯一真正控制的客戶端是web.config/app.config,並且使用url做某些事情實際上是可能的。我想知道如果我能以某種方式插入一些東西到網址本身不改變服務的地址,但仍然傳遞到服務器... – dphreak 2010-01-12 06:46:11

+0

基於你的想法,我想出了一個解決方案。在服務url後添加?client = web/app.config中的內容。這對服務沒有任何意義,但它包含在服務跟蹤中。簡單而有效,並且不需要對實際代碼進行任何更改。 – dphreak 2010-01-12 09:40:03

2

退房的WCF內置的日誌記錄和跟蹤機制:

充足,當你搜索「更多WCF,追蹤,記錄「。 WCF內置的支持非常廣泛 - 您可以輕鬆記錄消息,查看消息的來源,分析它們,並且可以根據需要打開或關閉它。

+0

什麼在messeges顯示它們來自哪裏?我試圖追蹤「詳細,活動追蹤」,但沒有透露有關客戶端的任何信息,只有調用的方法,響應等等。 – dphreak 2010-01-12 06:38:03

相關問題