我知道在Web应用程序中使用的静态变量是共享的,对于整个Web应用程序的所有用户而言。如果我有一个使用一些静态私有变量的库(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文件实际上是相同的文件,并且位于相同的文件路径中。
(我先前提出了一个类似的关于Web应用程序的问题 here. 但它与此无关。)