【发布时间】:2017-01-10 23:21:17
【问题描述】:
我想防止两个用户同时执行同一个存储过程。如果有两个 ASP.NET 请求进来执行该存储过程,那么这些请求应该以串行方式一个接一个地执行。
SQL Server 数据库和执行由 ado.net 处理。
以下任何方法都有助于实现这一目标吗?最合适的方法是什么?有没有其他方法可以达到同样的效果?
-
通过将隔离级别设置为可序列化,使用 ado.net 事务执行存储过程
-
在存储过程中使用
sp_getapplock,最后释放
【问题讨论】:
标签: c# sql-server concurrency ado.net transaction-isolation