我有一个包含3个项目的解决方案上的共享变量类。我也有一个项目的引用,其中包含来自其他2个项目的共享变量(我们称之为NoShared projects)。
我可以从NoShared项目中读取完美,但问题是我可以从这个项目中写入共享变量。
这是包含共享变量的类的代码
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
。
请帮忙好吗?
我使用不同的项目,因为每个项目需要不同的执行权限,如管理员权限和其他普通用户权限。
如果你运行两个程序(2个EXE,或者一个Web Site一个EXE),那么共享变量在它们之间不是全局的。它们仅在同一应用程序域(同一EXE)内全局"共享"。
在这种情况下,您需要将值存储在对两个项目都是全局的其他地方,或者将值存储在一个正在运行的事件中,并提供一种访问它的方法(例如。net远程处理,或web服务调用),以便仅在一个应用程序空间中写入它。