У меня есть личное статическое поле в классе Controller в веб-приложении MVC.
У меня есть статический метод в этом контроллере, который присваивает какое-то значение этому статическому полю, я хочу применить блокировку к этому статическому полю, пока какой-нибудь другой метод экземпляра в контроллере не использует значение, сохраненное в статическом поле, а затем освобождает его.
Как я могу это сделать?
ОПИСАНИЕ:
У меня есть контроллер с именем BaseController, имеющий статическое поле ClientId следующим образом и два метода следующим образом: -
public static string ClientId = "";
static void OnClientConnected(string clientId, ref Dictionary<string, object> list)
{
list.Add("a", "b");
// I want the ClientId to be locked here, so that it can not be accessed by other requests coming to the server and wait for ClientId to be released:-
BaseController.clientId = clientId;
}
public ActionResult Handler()
{
if (something)
{
// use the static ClientId here
}
// Release the ClientId here, so it can now be used by other web requests coming to the server.
return View();
}