我们有一个基于ASP.Net MVC3的网络应用程序,用于索赔输入和&管理。为简化起见,请将索赔视为订单。 Claim可以具有子对象,并且其子对象之一可以具有子子对象。喜欢......
(即索赔 - >项目 - >文件)
我们需要像机制这样的交易。也就是在Claim entry期间,用户可以添加/编辑/删除子或子子对象。最后他可以" 接受" (提交)所有更改(对数据库)或" 取消" (回滚/拒绝)全部。
我在技术上实施这个"交易"有哪些选择?支持接受/取消机制的功能说明。这是我的一些想法 -
获取整个Claim对象,并通过序列化在会话中对其进行预先处理。所有的更改都将对这个Claim对象"在内存中进行#34;最后用户可以决定接受/取消。
添加" xxxx_transit"每个实体的表格(xxxx)。所有操作都将在此临时传输表上完成,并在提交时最终将更改应用于实际的xxxx表。
淘汰赛方法 - 在客户端存储Claim模型,对其应用更改。 UI绑定将立即反映更改。最后,当提交时 - 将更改应用于数据库。
我的评估
- 我们已经完成了它,我们使用了ASP.Net会话状态服务但是 对象序列化会影响性能!
- 额外的复杂性是否值得?特别是与#1的性能提升相比。
- 我相信这会增加复杂性和操作 处理GUI层。这样安全吗?
醇>
你会建议哪一个?如果误导,忘记我的想法,请分享你认为最好的?
谢谢。