Я знаю, что статическая переменная, используемая в веб-приложении, является общей для всех пользователей веб-приложения.Если у меня есть библиотека (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, которое делает то же самое.Если приложение A позднее вызывает myDLL.Disconnect()
, видит ли приложение B isConnected
как False
, потому что два приложения совместно используют один и тот же файл DLL со статической переменной?Файл DLL в этом случае будет буквально одним и тем же файлом с тем же путем к файлу.
(ранее я задавал несколько похожий вопрос о веб-приложениях здесь. Он не связан.)