2013-10-07 123 views
1

我們的WCF服務具有以下例外:WCF忽略MaxItemsInObjectGraph值

,可以在一個對象圖被序列或反串行化的項目的最大數目是「32767」。更改對象圖或增加MaxItemsInObjectGraph配額。

我們更改配置到:

<behavior name="large"> 
     <dataContractSerializer maxItemsInObjectGraph="214783647"/> 
     <serviceMetadata httpGetEnabled="true"/> 
     <serviceDebug includeExceptionDetailInFaults="true"/> 
    </behavior> 

但沒有改變。

在調試模式下,當服務主機打開時,DataContractSerializer的值爲214783647,並且仍然發生異常。

以編程方式更改值無濟於事。

在服務上添加ServiceBehavior屬性並沒有幫助。

更改machine.config像here - 沒有幫助。

任何想法? 謝謝。

回答

0

感謝我的大學與移除ReferencePreservingDataContractFormat屬性的問題解決了,我們認爲這是因爲這個屬性創建其自己的DataContractSerializer是忽略的配置。

More details

+1

這就是爲什麼你必須把配置在這個相同的文件夾:)並且不使用[]如果你不知道他們做什麼^^ –

3

您可能需要確認錯誤不是來自事務的另一端(客戶端)。

驗證的一種方法是配置並啓用WCF診斷事件跟蹤和消息日誌記錄,然後重新運行測試事務並查看服務跟蹤日誌文件。以下鏈接演示如何啓用跟蹤和消息日誌記錄。

http://msdn.microsoft.com/en-us/library/ms751526.aspx

+0

嗨,我檢查了第一件事......客戶端從未收到答案。 – Adiel