如何防止网络论坛脏写?

发布于 2024-08-09 17:12:43 字数 128 浏览 8 评论 0原文

作为一名网络开发学徒,我对防止网络论坛脏写一无所知。有什么值得深思的吗?提前致谢!

我正在研究 ASP.NET MVC 和实体框架。

好吧,抱歉误导了。这里的脏写是指覆盖数据库中另一个人的更改。使用乐观并发时。

As a apprentice for web development, I have no clue of preventing dirty write for web forums. Is there any food for thought? Thanks in advance!

I'm working on ASP.NET MVC and Entity Framework.

Okay, sorry for misleading. The dirty write here means overwrite changes of another person in the database. While using a Optimistic Concurrency.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

往日情怀 2024-08-16 17:12:43

要在 EF 中执行乐观并发,您可以:

  1. 添加或选择用于乐观并发控制的字段。我们使用时间戳。
  2. 在 EF 设计器中,将此属性的 ConcurrencyMode 更改为固定。
  3. 将字段的“旧”值序列化为表单上的隐藏字段。
  4. 提交表单时反序列化“旧”值,并将其添加到您要更新的实体中。

当更新期间存储的值与旧值不匹配时,EF 将抛出 OptimisticConcurrencyException。

To do optimistic concurrency in the EF, you:

  1. Add or select a field to use for optimistic concurrency control. We use a TIMESTAMP.
  2. In the EF designer, change the ConcurrencyMode to Fixed for this property.
  3. Serialize the "old" value of the field to a hidden field on the form.
  4. Deserialize the "old" value when the form is submitted, and add it to the entity you're updating.

The EF will throw OptimisticConcurrencyException when the stored value doesn't match the old value during an update.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文