我在包含3个项目的解决方案上有一个包含共享变量的类。我也引用了包含来自其他2个项目的共享变量的项目(我们称之为NoShared项目)。
我可以从NoShared Projects中读完,但问题是我可以写这个项目的共享变量。
这是包含共享变量的类的代码。
Public Class GlobalVariables
Public Shared Debug As Boolean = False
Public Shared Username As String = ""
Public Shared Password As String = ""
End Class
如果我从NoShared Projects执行此操作:
GlobalVariables.Debug = True
没有任何反应,GlobalVariable.Debug
的价值仍为False
。
请帮忙吗?
我正在使用不同的项目,因为每个项目都需要不同的执行权限,例如管理员权限和其他普通用户权限。
答案 0 :(得分:2)
如果您运行两个程序(例如2个EXE,或者一个网站,例如一个EXE),则共享变量在它们之间不是全局的。它们仅在同一应用程序域(相同的EXE)内全局“共享”。
在这种情况下,您需要将值存储在两个项目的全局其他位置,或者将值存储在其中一个正在运行的出现中并提供访问它的方法(例如.net远程处理或Web服务调用) )只在一个应用程序空间中写入它。
另一种处理它的方法是将它存储在一个数据库中,在这个数据库中,您可以在更新期间锁定一个保存该值的表。