【发布时间】:2012-11-26 03:15:21
【问题描述】:
我用c#写了一个简单的web服务(asmx)
客户端使用 post 和 title 参数访问 web 服务,并期望服务返回一个对象,其中包含有关该 title 键的更多详细信息。
我面临的问题是,在开始执行我的 web 服务时,我会检查提供给我的标题是否存在于我的数据库中。如果不是,我构建正确的对象,我将它保存到我的数据库中以备将来搜索以避免重建它(因为我使用第三方 Web 服务进行构建),然后我以 json 格式发回客户询问的对象为。
然而,这会导致竞争情况,因为 2 个客户端可能会请求相同的标题,并最终将同一对象插入数据库两次,因为其中一个客户端速度不够快,无法在另一个客户端请求之前写入该对象。
我使用 Mysql 数据库,我想弄清楚如何避免这种情况?
密钥是存储过程吗?
我该如何解决这个问题?
注意:我的数据库中的关键是标题列和年份列。
提前致谢
【问题讨论】:
-
第 3 方是否提供了一个您也可以在数据库中使用的唯一 ID?
标签: c# mysql web-services web