簡體   English   中英

WCF:暴露的對象模型-陷入循環

[英]WCF: Exposed Object Model - stuck in a loop

我正在從事一個相當大的WSSF項目。 我在業務層中有一個普通的對象模型。 例如,客戶具有訂單收集屬性,當該屬性被訪問時,它將從數據層加載(延遲加載)。 訂單具有productCollection屬性等。

現在,我發現有些棘手的地方是通過WCF公開了這一點。 我要導出訂單集合。 客戶端應用程序還將需要有關客戶的信息。 我使用WSSF數據合同設計器進行了設置,以便客戶擁有一個稱為“訂單收集”的屬性。 如果您有一個客戶對象並想查看訂單,這很好,但是如果您有一個訂單對象,則沒有客戶屬性,因此在層次結構中不起作用。

我嘗試將客戶屬性添加到訂單對象,但隨后在加載數據合同時,代碼陷入了循環。 這是因為它不會像業務層那樣按需加載。 我需要先加載所有屬性,然后才能通過WCF發送對象。 最終加載一個訂單,然后是該訂單的客戶,然后是該客戶的訂單,然后是該訂單的客戶,依此類推...

我敢肯定我錯了。 救命!!

通常,使用WCF,最好不要將合同視為“遠程對象”,而應將其視為可以調用以從中獲取數據或將數據傳遞到的接口。

在返回的對象上調用的所有方法都在本地處理,而不是對象起源。 實際上,從服務器兩次獲取“相同”對象通常會在客戶端上導致兩個完全獨立的對象!

為了獲得您所要求的功能,您可能需要編寫一些客戶端代碼來為您創建一個遠程對象“錯覺”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM