【发布时间】:2018-12-27 17:43:47
【问题描述】:
我正在使用 asp.net 和 C# 构建一个 Web 应用程序。 该应用程序有多个用户同时工作并向其输入家庭信息 - 包括家庭成员的信息。 家庭成员的 ID 是使用特定于应用程序的算法生成的,家庭的 ID 也是基于表中最后一个 ID 生成的,但是在测试时,如果两个用户同时输入两个不同的家庭信息,则ID 会相互干扰,导致主键重复。 关于如何在用户输入数据时暂停其他用户进程的任何想法? 我正在使用 ASP.Net、C# 和 MySQL。
【问题讨论】:
-
你是如何生成ID的?为什么不让 MySQL 使用自动递增的主键生成它们。这样,用户可以同时工作。没有一个称职的网络应用程序会阻止用户同时做事......
-
创建单独的锁定数据库表,将userID映射到familyID;在编辑此表之前检查。当然,用户保存此表后必须再次清除。或者更糟糕的是,当用户刚刚离开应用程序时,锁可能会永远保留。立即想到快速修复。
-
在客户端必须生成 id 的情况下,最好的办法是使用
Guid
标签: c# mysql asp.net multiple-users