我們的解決方案中有一個自定義的異常處理行爲(實現IErrorHandler),它基本上使用Automapper將異常轉換爲故障。WCF Fault - 缺少細節元素
自第1天起,這一直運行良好。但是我們剛剛注意到,在我們的共享開發服務器上瀏覽ServiceTraceViewer(查看服務器日誌 - 不是客戶端)時,我們的服務返回的任何故障都忽略了detail元素。
在我的開發機器上運行完全相同的代碼和配置,正確填充detail元素。正如我所說的配置文件(行爲,綁定)在兩臺機器上是相同的。兩種配置都指定includeExceptiondetailsInFaults = true。
我還添加了一堆的日誌報表似乎表明,同樣的代碼路徑遵循與像故障代碼,故障原因等
我的dev的機器各種事物相同的值兩臺機器是2008R2標準(64位)。有問題的服務器也是2008R2標準版(64位)。
如果需要,我可以發佈代碼的提取,但在第一種情況下,有什麼環境可以允許我們看到的?從問題的文件
提取物:
<s:Body u:Id="_1">
<s:Fault>
<s:Code>
<s:Value>s:Sender</s:Value>
</s:Code>
<s:Reason>
<s:Text xml:lang="en-NZ">An error occured during the request to the ...</s:Text>
</s:Reason>
</s:Fault>
</s:Body>
只是爲了理智,你能否說在*客戶*上實際上沒有可用的詳細信息? –
嘿克里斯蒂安,當然 - 客戶端svclog顯示相同的東西。現在我們正在監控UAT環境,看看問題是否會出現在那裏。如果沒有,我猜這是環境問題,僅限於一臺機器。 – 6footunder
在這一點上,它仍然是a)真的很奇怪,b)一個大問題! – 6footunder