这真的很有必要,还是有任何框架为我做这项工作? 谢谢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. 我是否需要删除此对象?