我有一個WCF webservice,實際上有很多webservices,都使用net.tcp並通過WAS在IIS中託管。多個客戶端正在調用這些服務,所有這些服務都是已知的,但無法控制(也就是說,我無法更改他們的代碼,因此我也無法更改這些服務)。其中一些客戶對服務不太好,導致很多錯誤,我想知道哪些是有問題的。我無法查看通過的憑據,因爲它們不使用身份驗證,我不能使用ip/port,因爲它們都來自同一個地方。我現在面臨的挑戰是找到區分這些客戶端的方法,例如通過查看調用程序集或遠程系統上標識客戶端的東西。任何人都知道這些信息?我可以訪問IIS日誌,事件查看器,跟蹤文件和它們自己的服務(我可以將任何內容放入不會中斷正常流程的代碼中)。記錄有關客戶端向WCF(WAS)發送請求的信息webservice
回答
看來你的問題不在於日誌機制;這是找到一種區分客戶的方法。
如果您無法控制客戶端的代碼,您是否至少可以更改它們用於端點的URL?如果是這樣,那麼我建議你在多個端點地址公開服務,然後讓每個客戶端使用一個唯一的地址。該地址將作爲客戶端的代理。
您可以編寫一些自定義行爲來檢查您的服務收到的消息;樣品可以在這裏找到:Writing a WCF Message Inspector和Simple WCF Service Behavior: Inspect Messages Through Debug Output
有沒有似乎是任何東西在消息對象區分客戶端... – dphreak 2010-01-12 06:42:57
退房的WCF內置的日誌記錄和跟蹤機制:
充足,當你搜索「更多WCF,追蹤,記錄「。 WCF內置的支持非常廣泛 - 您可以輕鬆記錄消息,查看消息的來源,分析它們,並且可以根據需要打開或關閉它。
什麼在messeges顯示它們來自哪裏?我試圖追蹤「詳細,活動追蹤」,但沒有透露有關客戶端的任何信息,只有調用的方法,響應等等。 – dphreak 2010-01-12 06:38:03
- 1. Cakephp向webservice發送請求
- 2. 如何從客戶端記錄完整的原始WCF客戶端請求?
- 3. 向所有客戶端發送消息(客戶端 - 服務器通信)
- 4. DHCP客戶端信息請求
- 5. wcf請求客戶端
- 6. WCF客戶端https請求
- 7. AJAX - 獲取有關如何向cookies發送請求的信息
- 8. 如何記錄resteasy客戶端請求
- 9. WCF webservice的restlet客戶端
- 10. 如何在沒有客戶端請求的情況下在signalR中向客戶端發送消息
- 11. 客戶端發送SOAP請求
- 12. Swift Http客戶端不發送請求
- 13. 間隔發送請求從客戶端
- 14. Netty IO向客戶端發送消息
- 15. JAX-WS客戶端|用安全頭髮送客戶端請求
- 16. 作爲HTTP請求的回調向客戶端發送錯誤
- 17. 向Google的C++本地客戶端發送POST請求
- 18. 每個ASP.NET請求的WCF客戶端?
- 19. 如何用spring @RequestBody在休息客戶端發送post請求
- 20. WHMCS未向客戶端發送cPanel詳細信息
- 21. 有沒有辦法讓客戶端發送請求時的url
- 22. 使用nodejs向Web客戶端發送下載請求
- 23. Backbone客戶端向NodeJS服務發送請求
- 24. 重新路由請求不發送重定向到客戶端
- 25. 使用apache http客戶端向SOAP web服務發送請求
- 26. 如何使用客戶端Javascript向Ldap發送請求?
- 27. 如何阻止客戶端向服務器發送ajax請求?
- 28. 如何檢索向C#webservice發出請求的客戶端的IP
- 29. 向所有客戶端發送消息時發生ConcurrentModificationException
- 30. Java休息webservice客戶端
你是對的。我唯一真正控制的客戶端是web.config/app.config,並且使用url做某些事情實際上是可能的。我想知道如果我能以某種方式插入一些東西到網址本身不改變服務的地址,但仍然傳遞到服務器... – dphreak 2010-01-12 06:46:11
基於你的想法,我想出了一個解決方案。在服務url後添加?client = web/app.config中的內容。這對服務沒有任何意義,但它包含在服務跟蹤中。簡單而有效,並且不需要對實際代碼進行任何更改。 – dphreak 2010-01-12 09:40:03