簡體   English   中英

Asp.net + Silverlight + WCF和n層體系結構

[英]Asp.net + Silverlight + WCF and n-tier architecture

編碼人員,我正在設計/實現我自己的CMS原型(是同時使用)。 我使用Asp.net,WCF和silverlight。 到目前為止,我的項目具有以下模型:

表示層[silverlight&Asp.net/html]> WCF>業務邏輯>數據庫

我的模型的目標是使將來擴展應用程序變得容易。 可以從任何可以消耗我的WCF服務的應用程序中訪問該應用程序。

不幸的是,我在執行模型時遇到一些困難。 在我看來,如果我的解決方案中有三個項目:

解:

  • -Asp.net [演示層]
  • -Silverlight [演示層]
  • -WCF [WCF和業務邏輯]

然后,我將不得不在表示層和WCF層中重復許多類。

這是一個場景:假設我的WCF中有一個Post類,這是我的BL的實現。 在創建服務引用的客戶端實例之后,可以使用諸如client.AddPostAsync(post parameters)這樣的行從PL中添加新帖子。 但是,如果要通過調用WCF方法在PL中檢索Post對象,那么我將必須已經在PL中實現Post類的實現,該實現與WCF中Post類的完全相同!

因此,從長遠來看,我最終將在WCF層和PL中得到許多重復的類。 我覺得我不了解某些內容,或者可能是我的模型弄亂了某些內容? 請幫忙!

實際上,您不必從Silverlight中的WCF服務復制類(具有DataContract屬性),當您為WCF服務創建ServiceReference時,它們將自動自動創建。

無論如何,它們基本上都是非常簡單的字段中的存儲數據類,因此我可以理解,如果您需要一些邏輯支持,則可能希望在Silverlight中創建一些功能重復項。 我在項目中使用了相同的模型,並且也遇到了這個問題。

我認為您應該提前了解架構,從而使這些WCF繼承的類越來越像DataTransferObject模式類,以避免大量的類重復。

暫無
暫無

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

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