Я знаю, что статическая переменная, используемая в веб-приложении, используется для всех пользователей веб-приложения. Если у меня есть библиотека (DLL), которая использует некоторую статическую приватную переменную, все приложения, использующие эту библиотеку, совместно используют значение этой переменной?
Например, скажем, у меня есть следующий код в моей DLL:
private static bool isConnected = false;
public static void Connect()
{
// TODO: Connect.
isConnected = true;
}
public static void Disconnect()
{
// TODO: Disconnect.
isConnected = false;
}
Затем в приложении A я вызываю myDLL.Connect()
, который устанавливает значение isConnected
в True
. Тогда у меня есть приложение B, которое делает то же самое. Если приложение А позже вызывает myDLL.Disconnect()
, приложение B видит isConnected
как False
, потому что два приложения имеют один и тот же DLL файл со статической переменной? DLL файл в этом случае был бы буквально одним и тем же файлом в том же пути к файлу.
(Я ранее задал несколько схожий вопрос о веб-приложениях здесь. Это не связано.)