0

我们有一个基于 ASP.Net MVC3 的网络应用程序,用于索赔条目和管理。为简化起见,将索赔视为订单。声明可以有子对象,其子对象之一可以有子子对象。喜欢 ...

(即声明->项目->文件)

我们需要一个类似事务的机制。也就是说,在声明条目期间,用户可以添加/编辑/删除子对象或子对象。最后,他可以“接受”(提交)所有更改(对数据库)或“取消”(回滚/拒绝)所有更改。

我有哪些选项可以在技术上实现这个支持接受/取消机制的“事务性”功能解释。以下是我的一些想法——

  1. 获取整个 Claim 对象并通过序列化将其保存在会话中。所有更改都将在“内存中”对此声明对象进行,最终用户可以决定接受/取消。

  2. 为每个 entity(xxxx) 添加一个“xxxx_transit”表。所有操作都将在这个临时传输表上完成,当提交时,我们最终将更改应用到实际的 xxxx 表。

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

我的评价

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

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

谢谢你。

4

0 回答 0