【发布时间】:2011-09-06 09:59:11
【问题描述】:
我有 ASP.NET 应用程序,其中执行 Web 请求的代码如下:
ProcessAction(actionId)
我想确保不会同时为同一个 actionId 执行 ProcessAction,所以我需要做这样的事情:
WaitIfActionWithIdIsExecuting(actionId)
ProcessAction(actionId)
我应该使用什么 .NET 同步机制?互斥体、监视器、AutoResetEvent、ManualResetEvent ?
线程需要等待的情况非常少见。
【问题讨论】:
-
看起来你有一个线程一个一个地处理动作,对吗?
-
这会在 1 个请求/响应中吗?
-
可以从 2 个或多个 ASP.NET 请求中调用相同 actionId 的 ProcessAction。
标签: c# asp.net concurrency synchronization