我剛剛使用WCF/REST Web服務使用Entity Framework訪問數據庫,應用一些次要業務邏輯並將結果傳遞給.NET Webforms前端,從而得到了一個小項目。這很奏效,但最初的設計卻沒有很多時間來調查選項,現在我被要求做另一個非常類似的項目。現在我有更多的時間去看看那裏有什麼,並且可能比第一個項目做得更好。WCF/REST Web服務,實體框架和WebForms前端之間的接口選項:我的選項是什麼?
我想知道是否有更好的方法來完成一些事情,特別是在Web服務和前端之間來回傳遞對象。
對於第一個項目,我創建了一個包含Web服務和網站使用的類定義的共享庫。當請求進入Web服務時,執行了數據庫查詢,應用了業務邏輯,並創建了其中一個共享類型的對象,並將其傳回到Web服務響應中。
當網站得到響應時,它將其反序列化到適當的共享對象並繼續其快樂的方式。
它工作正常,但有很多代碼必須寫入來定義共享對象,然後將查詢結果/業務邏輯結果映射到共享對象。
有沒有更好的方法?具體而言,我正在尋找的方法是:
自動生成對象。 (我不確定是否有 - 我似乎可以自動生成專門映射到數據庫實體(如表或視圖)的對象(事實上,這就是實體框架所做的),但是需要包含非數據庫信息的對象又如何像商業邏輯可能添加的東西?)
刪除Web服務和網站之間共享庫的需求。我懷疑這可能存在,但我甚至不知道從哪裏開始。
聽起來你使用MVC?不確定映射到我正在做什麼 - 對於這個項目,我使用的是.NET WebForms,這不是可以在這一點上改變的東西。 – BDW 2012-02-29 22:00:04
實際上它應該沒關係。唯一的區別是注入你的依賴關係(管理者)會更加困難。否則,我的想法只是基於用戶界面,服務,業務和持久性的概念。是的,MVC和關注點的分離使得這個更清晰,但同樣沒有必要。一旦你將你的模型傳遞給servicemanager,它就完全一樣。 – 2012-03-01 01:41:10
好奇你爲什麼使用RestSharp而不是ServiceStack的內置ServiceClients?似乎你會節省更多的樣板嗎? – mythz 2012-03-01 08:13:29