2012-05-26 32 views
0

我們想要做的是在服務上使用典型的POCO對象。現在,我知道服務實際上是爲了提供功能點菜,但實際上,我們試圖在這裏解決的問題是實現與使用類庫(POCO功能,如屬性,構造函數和行爲)相同的可用性在編譯的庫中)以及具有被稱爲「即時」的集中式可重用組件的益處。這樣,我們可以構建庫,並將其重新部署到一個位置,並且所有引用它的應用程序都將被更新。如何以類似服務的方式與應用程序共享類庫?

看來,WCF並不真的支持這一點,我可以理解爲什麼。在大多數情況下,人們傾向於低微地嘲笑並問「你爲什麼這樣做?」。那麼,我已經在這裏回答了。那麼我真正要問的是,在哪些方面應該考慮實現這種「中央圖書館」?我不覺得服務是答案,但我需要實現一箇中央類庫,可以像服務一樣訪問。這樣,該類庫的更新將透明地影響所有引用它的應用程序,而不必在每個應用程序中重新引用它。這有意義嗎? TIA

更新: 只是想過它。將程序集添加到應用程序服務器的GAC會是愚蠢的嗎?

+0

服務模型的概念是它基於接口,客戶端不可知且半靜態。 – Paparazzi

回答

0

我最終做的是創建一個包裝Web服務的類庫。所有的業務邏輯都保留在類庫中,而所有的數據訪問都是通過服務完成的。這隱藏了來自客戶端編程的任何複雜的乒乓,並使一些非常簡單和乾淨的頁面。

另一方面,事實證明,在WCF服務中創建的對象仍然支持抽象,所以我能夠利用這一點。我使用匹配的類庫對象爲服務數據傳輸對象創建了一個命名約定。庫對象與服務對象具有相同的屬性名稱,再加上他們需要執行的任何其他操作(我將它們按區域分隔)。

所以我認爲這是更正確的服務使用和幾乎解決了我的問題。相當多的額外工作,但現在我們有一個更加靈活的架構,既鬆散耦合又高度內聚。

相關問題