我很好奇在MVC3中创建站点范围的全局变量的最佳方法是什么。
即,在多个请求/访问者之间共享的变量。
我猜,如果可能的话,一旦网站被回收,变量就会丢失..还有其他的优点或缺点吗?
最好的办法就是将所有东西都存储在数据库中,但这更像是一种可能/实验的问题;)
答案 0 :(得分:1)
您是否考虑过将数据保存为App_Data文件夹中的XML?
你可以创建一个单例,但每个AppDomain只有一个实例。如果你没有命中20分钟,IIS将会降速。
所以另一个真正的方法是将值保存在某个地方 - 文件或数据库。
单身人士解决方案
这是C#中的单例模式。
public class MyValues
{
private readonly static MyValues instance = new MyValues();
private MyValues() { }
public static MyValues Instance
{
get { return instance; }
}
public string SomeValue { get; set; }
public int SomeOtherValue { get; set; }
}