站点范围的全局变量

时间:2012-10-26 19:24:01

标签: c# asp.net-mvc-3 iis-7

我很好奇在MVC3中创建站点范围的全局变量的最佳方法是什么。

即,在多个请求/访问者之间共享的变量。

我猜,如果可能的话,一旦网站被回收,变量就会丢失..还有其他的优点或缺点吗?

最好的办法就是将所有东西都存储在数据库中,但这更像是一种可能/实验的问题;)

1 个答案:

答案 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; }
}