目前,我们将域对象/实体放入ASP.NET会话中。
现在我们考虑从InProc会话转移到状态服务器。这要求会话中的所有对象都是可序列化的。而不是使用[Serializable]属性注释所有对象,我们考虑创建自定义会话对象(DTO会话对象?),它只包含我们需要的信息:
缺点:
优点:
答案 0 :(得分:1)
如果您正在考虑迁移到ASP.NET MVC,这些DTO将成为您的模型ViewData对象,这可以实现方便的迁移。
是的,会话信息将更具体,因为DTO将特定于其使用行为。它应该减少没有未使用信息甚至限制信息的开销。
规格DTO也会帮助其他事情;如果您在表示层中实现其他技术,例如Silverlight,Flash等,并且需要Web服务中的相同对象。