2012-12-05 103 views
1

我在調用本地生成的WCF服務時收到「無法識別的消息版本」錯誤。該服務位於F5負載均衡器後面的DMZ中。 F5管理SSL證書,然後通過HTTP(不是HTTPS)將消息轉發到服務器上。部署在不通過F5路由的內部服務器上的相同服務工作正常。如何攔截IIS中的WCF請求

我想檢查一路上的消息版本。服務器堆棧跟蹤看起來好像是IIS在WCF框架的內部將.NET代碼交給.NET代碼,然後在它將消息轉發給我的代碼之前炸燬。

我一直在客戶端和服務器上的IIS日誌記錄玩弄,但似乎無法找到消息的細節,會導致我在任何地方。我還配置了服務跟蹤日誌(配置如下),但沒有看到添加結果。任何其他建議無論是工具,錯誤原因還是我可能不瞭解工具向我展示的內容?

<system.diagnostics> 
    <sources> 
     <source name="System.ServiceModel" 
       switchValue="Information, ActivityTracing" 
       propagateActivity="true"> 
     <listeners> 
      <add name="traceListener" 
       type="System.Diagnostics.XmlWriterTraceListener" 
       initializeData= "c:\Temp\Traces.svclog" /> 
     </listeners> 
     </source> 
    </sources> 
    </system.diagnostics> 

更新 - 核心問題解決 因爲我已經發現是基於服務器上的F5負載均衡器重定向到它自身以及在預期我是有具體的問題。我認爲了解更多關於如何跟蹤請求狀態的方法可能仍然有用。

+0

你看過** AppFabric IIS管理器擴展**嗎?我不確定它是否有助於這種情況,但我發現它在過去有用於深入瞭解我的WCF服務發生了什麼。鏈接與一些功能描述。(http://msdn.microsoft.com/en-us/library/ee677286%28v=azure.10%29.aspx) – DeanOC

回答