用vb.net编写项目之间的共享变量



我有一个包含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服务调用),以便仅在一个应用程序空间中写入它。

另一种处理方法是将其存储在数据库中,在更新期间可以悲观地锁定保存该值的表。

最新更新