我在調用本地生成的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負載均衡器重定向到它自身以及在預期我是有具體的問題。我認爲了解更多關於如何跟蹤請求狀態的方法可能仍然有用。
你看過** AppFabric IIS管理器擴展**嗎?我不確定它是否有助於這種情況,但我發現它在過去有用於深入瞭解我的WCF服務發生了什麼。鏈接與一些功能描述。(http://msdn.microsoft.com/en-us/library/ee677286%28v=azure.10%29.aspx) – DeanOC