2013-04-29 66 views
0
public static class WebConfig 
{  
    private static IList<SystemConfigs> sysconfkeys; 
    static WebConfig() 
    {   
     sysconfkeys = systemconfigrep.GetAllSystemConfig(); 
    } 

    private static string _SMTPPort = ""; 
    public static string SMTPPort 
    { 
     get 
     { 
      return _SMTPPort = sysconfkeys.FirstOrDefault(e => e.metakey == "SMTPPort") != null ? sysconfkeys.FirstOrDefault(e => e.metakey == "SMTPPort").metavalue : "25"; 
     } 
    } 

    private static string _SMTPUsername = ""; 
    public static string SMTPUsername 
    { 
     get 
     { 
      return _SMTPUsername = sysconfkeys.FirstOrDefault(e => e.metakey == "SMTPUsername") != null ? sysconfkeys.FirstOrDefault(e => e.metakey == "SMTPUsername").metavalue : ""; 
     } 
    } 
} 

用法:WebConfig.SMTPUsername;asp.net mvc访问您的应用程序中的变量一击

目前:我在我的视图或控制器中以上述方式在我的系统中使用系统级变量。但上面的问题是静态构造函数只能在初始化时调用。如果SMTPUsername更改,则新的SMTPUsername将不会反映在系统中。我必须重新启动iis池以再次调用它。

我想要的是:开发一种机制,当某些变量发生变化时会使数据库命中。如果没有什么改变,那么访问已经提取的变量。有些人可以提供一些有关这方面的见解,任何推荐的方式在asp.net mvc。

我想要做的是实现缓存。但我能做到的恰当方式是什么?

回答

相关问题