gpt4 book ai didi

c# - GAC 中的 .Net 静态变量和 DLL 版本

转载 作者:太空宇宙 更新时间:2023-11-03 11:16:08 28 4
gpt4 key购买 nike

有关于静态类/变量和 DLL 版本的问题。

如果我在 DLL(版本 1)中有一个静态变量并将其加载到 GAC 中,然后创建更新版本的 DLL(版本 2)并将其加载到 GAC 中,当任一版本被调用时引用内存中的同一个变量?

示例:

  • 客户端 1 在 DLL 的版本 1 中设置静态变量 IsAuthenticated = True
  • 客户端 2 获取相同静态变量 (IsAuthenticated) 的值,但它引用 DLL 的版本 2。

namespace 相同。

当客户端 2 调用它时,IsAuthenticated 是否/应该为 True?

最佳答案

不,每个(版本的)DLL 都有自己的所有静态变量副本,即使两个 DLL 都加载到同一个进程中也是如此。像这样进程共享内存(这是我对这个问题的解释)不仅是技术上的噩梦,而且还是一个非常糟糕的主意。

关于c# - GAC 中的 .Net 静态变量和 DLL 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12636136/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com