Http 호출을 배타적으로 하기
특정 http 호출을 동시에 호출하지 않도록 하는 방법
출처
public static void ExecuteSync(Action SynchronousAction, Action OnBlocked)
{
string appKey = "MyState";
var app = System.Web.HttpContext.Current.Application;
app.Lock();
var state = app[appKey];
if (state == null)
{
app[appKey] = new object();
}
app.UnLock();
if (state != null)
{
OnBlocked();
return;
}
try
{
SynchronousAction();
}
finally
{
app.Lock();
app.Remove(appKey);
app.UnLock();
}
return;
}
이 글은 2020-02-18에 작성되었습니다.