2012-01-11 38 views
0

WCF最佳做法,我遇到了在過去的下面幾次例外,每一次我只需要改變配置,以允許更大的對象圖。的問候MaxItemsInObjectGraph

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

但是我講一個同事,他說,WCF不應該被用來發送大量的數據,而不是數據應該一口大小的。

那麼關於大量數據被返回的普遍共識是什麼?

+0

對此有讀.. http://www.techrepublic.com/article/coarse-grained-interfaces-enable-service-composition-in-soa/5064520 – 2012-01-11 11:18:22

回答

1

根據我的經驗,使用同步Web服務操作傳輸大型數據集或文件會導致許多不同的問題。

首先,你有性能相關的問題 - 在服務邊界的序列化時間。然後你有可用性問題。傳入的請求可能超時等待響應,或者可能因爲沒有調度程序線程來處理請求而被拒絕。

最好就是委託大型數據傳輸和處理一些脫機異步進程。

例如,在你的情況,你發送請求和服務返回一個URI到你想要的最終資源。您可能需要等待資源可用,但您可以適當地編寫您的消費者代碼。

1

我沒有任何具體的例子,但this article似乎指向WCF被用於大型數據集,我知道人們使用它的圖像。

就我個人而言,我一直需要爲任何真實世界的數據增加這個屬性。