1

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

也就是说,在多个请求/访问者之间共享的变量。

我猜,如果可能的话,一旦网站被回收,变量就会丢失..这样做还有其他利弊吗?

最好的办法当然是将所有内容存储在数据库中,但这更像是一个可能/实验性的问题;)

4

1 回答 1

1

您是否考虑将数据作为 XML 保存在 App_Data 文件夹中?

可以创建一个单例,但这只是每个 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; }
}
于 2012-10-26T19:26:58.163 回答