這真的很有必要,還是有任何框架爲我做這項工作? 謝謝ASP.NET - 我將對象傳輸到WCF時是否需要使用數據傳輸對象?
0
A
回答
0
需要考慮的事情是WCF數據服務,您可以通過網絡訪問您的實體。我不確定這是否符合您的要求或願望,但這是可能的。如果您使用Entity Framework 4(.NET 4),那麼通過WCF Data Services公開實體模型的一部分非常容易。
一些好處:
- 你的CRUD功能;
- 通過XML或JSON向客戶端公開的數據;
- 您可以將CRUD操作鎖定到實體級別(例如,將訂單展示爲完整的CRUD操作,但僅允許讀取和更新產品);
- 利用REST(例如HTTP動詞GET,PUT,POST,DELETE);
- 一致的OData數據格式(AtomPub);
- 使用querystring很容易查詢你的數據(不知道如果有人認爲這是一個專業或con!);
- 可能多了一些,我差點忘
一些負面:
- 您不必訪問完整的WS- *功能,因爲這是WCF休息;
- 在這一點上,安全性有點像你自己的 - 你可以在現有網站的安全模型(比如表單驗證)上捎帶,也可以從請求頭手動插入和讀取令牌。 (還有其他關於保護WCF數據服務的博客,所以我可能在這裏錯過了一些項目);
- 如果您不使用EF4,那麼公開您的實體以進行插入/更新/刪除工作會更多,因爲您必須實現IUpdateable接口。您還必須通過公開IQueryable方法來公開您的實體以供閱讀。
所以我不知道這是你在找什麼,但也許這是要考慮的事情。 MSDN上的文檔非常好,並且每個月似乎都會變得更好(4-5個月前它相當稀少!)。另外,也可以在線查看OData規格。
MSDN爲WCF數據服務 - http://msdn.microsoft.com/library/cc668792.aspx 的OData規範 - http://www.odata.org/ 博客由Pablo Cibaro,Pablo Castro和data services team(他們對認證/授權系列)。
我希望這有助於!
0
你不需要。您只需要使用服務已知的可序列化類型,但它不必是專門用於通信的DTO。 DTO的使用只是應用程序架構的問題。當應用程序的複雜性和暴露的邏輯上升時,您會發現DTO是有用的設計功能,但對於簡單的應用程序而言,它只是開銷。
相關問題
- 1. JAX-RS是否需要數據傳輸對象(DTO)?
- 2. Asp.net MVC中的數據傳輸對象
- 3. 傳輸LINQ數據對象
- 4. 如何有效地使用DTO對象(數據傳輸對象)?
- 5. WCF REST序列化之前的System.IO.Stream到數據傳輸對象?
- 6. C#MVC API數據傳輸對象
- 7. 數據傳輸對象中的com.google.gwt.user.client.rpc.SerializationException
- 8. 數據傳輸對象應該多大?
- 9. 數據傳輸對象(DTO)的要點是什麼?
- 10. 數據傳輸對象與數值對象相同嗎?
- 11. 我需要通過查詢字符串傳輸javascript對象
- 12. Linq-to-SQL和WCF服務 - 數據傳輸對象
- 13. 數據傳輸對象類可以包含其他對象嗎?
- 14. 數據傳輸對象,域對象和知識庫
- 15. 如何將配置數據傳輸到注入對象?
- 16. 通過Pyro傳輸對象
- 17. 傳遞對象參數WCF
- 18. 將IEnumerable <Object>傳遞給ViewModel - 對象是否需要ViewModel?
- 19. 實體框架使用傳輸對象通過WCF發送
- 20. 我從sqlite獲取對象數據輸出而不是我需要的數據
- 21. 數據傳輸對象DTO要在哪裏構建
- 22. 我需要數據傳輸證書嗎?
- 23. 使用Silverlight/WCF中的數據傳輸對象引起的悲哀
- 24. 將對象從WCF服務傳輸到客戶端時忽略一些屬性
- 25. 使用複雜對象將Struts2數據從Jsp傳輸到動作
- 26. 爲什麼傳輸對象需要實現Serializable?
- 27. 依賴注入 - 與數據傳輸對象(DTO)一起使用?
- 28. 將自我對象傳遞給需要此類型的函數
- 29. 我是否需要將Mutex與對象實例一起使用?
- 30. 我是否需要刪除此對象?