对静态类/变量和DLL版本有疑问。
如果我在DLL(版本1)中有一个静态变量并将其加载到GAC中,则创建一个较新版本的DLL(版本2)并将其加载到GAC中,当调用任一版本时它是否会在内存中引用相同的变量?
示例:
IsAuthenticated = True
。 IsAuthenticated
)的值,但是它引用了DLL的版本2. 命名空间是相同的。
当客户端2调用它时,是否应该IsAuthenticated
为真?
答案 0 :(得分:2)
不,每个(版本的)DLL都有自己的所有静态变量的副本,即使这两个DLL都加载到同一个进程中。在这样的流程中共享内存(这是我对问题的解释)不仅是技术噩梦,也是一个非常糟糕的主意。