142 字
1 分钟
页面浏览--访问次数--
【ASP.NET】限制程序在同一时刻只有一个运行的实例
  1. 创建私有静态对象 _lockobject 作为互斥锁
// 互斥锁
private static object _lockobject = new object();
  1. 使用 lock 执行互斥程序,参数为 _lockobject,可以确保 lock 方法内程序在同一时刻只有一个运行的实例
public ActionResult Index() {
String str;
lock (_lockobject)
{
str = dosomething();
}
return View();
}
  1. 如果需要对互斥锁设置超时,可以使用 Monitor.TryEnter 方法
public ActionResult Index() {
String str;
if (Monitor.TryEnter(_lockobject, TimeSpan.FromSeconds(5)))
{
str = dosomething();
Monitor.Exit(_lockobject);
}
else str = "Took too long!";
return View();
}

参考文献#

【ASP.NET】限制程序在同一时刻只有一个运行的实例
https://gehongyan.cn/dotnet/asp-net-mvc-lock/
作者
戈小荷
发布于
2020-09-26
许可协议
CC BY-NC-SA 4.0

分享文章

生成精美分享图或复制链接,与更多人分享本文。

继续阅读

沿着主题读

基于共同的标签与分类

换条路线

从其他文章中稳定抽取

评论

正在加载评论...

最后更新于 ,距今已过 2218 天

部分内容可能已过时