MVC3在内存中保留一个复杂的对象

时间:2013-03-20 08:15:20

标签: asp.net-mvc-3 session serialization transactions

我们有一个基于ASP.Net MVC3的网络应用程序,用于索赔输入和&管理。为简化起见,请将索赔视为订单。 Claim可以具有子对象,并且其子对象之一可以具有子子对象。喜欢......

(即索赔 - >项目 - >文件)

我们需要像机制这样的交易。也就是在Claim entry期间,用户可以添加/编辑/删除子或子子对象。最后他可以" 接受" (提交)所有更改(对数据库)或" 取消" (回滚/拒绝)全部。

我在技术上实施这个"交易"有哪些选择?支持接受/取消机制的功能说明。这是我的一些想法 -

  1. 获取整个Claim对象,并通过序列化在会话中对其进行预先处理。所有的更改都将对这个Claim对象"在内存中进行#34;最后用户可以决定接受/取消。

  2. 添加" xxxx_transit"每个实体的表格(xxxx)。所有操作都将在此临时传输表上完成,并在提交时最终将更改应用于实际的xxxx表。

  3. 淘汰赛方法 - 在客户端存储Claim模型,对其应用更改。 UI绑定将立即反映更改。最后,当提交时 - 将更改应用于数据库。

  4. 我的评估

      
        
    1. 我们已经完成了它,我们使用了ASP.Net会话状态服务但是   对象序列化会影响性能!
    2.   
    3. 额外的复杂性是否值得?特别是与#1的性能提升相比。
    4.   
    5. 我相信这会增加复杂性和操作   处理GUI层。这样安全吗?
    6.   

    你会建议哪一个?如果误导,忘记我的想法,请分享你认为最好的?

    谢谢。

0 个答案:

没有答案