Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc asp.net mvc一次访问应用程序中的变量 公共静态类WebConfig { 私有静态IList系统密钥; 静态WebConfig() { sysconfkeys=systemconfigrep.GetAllSystemConfig(); } 私有静态字符串_SMTPPort=“”; 公共静态字符串SMTPPort { 得到 { 返回_SMTPPort=sysconfkeys.FirstOrDefault(e=>e.metakey==“SMTPPort”)!=null?sysconfkeys.FirstOrDefault(e=>e.metakey==“SMTPPort”)。元值:“25”; } } 私有静态字符串_SMTPUsername=“”; 公共静态字符串SMTPUsername { 得到 { return _SMTPUsername=sysconfkeys.FirstOrDefault(e=>e.metakey==“SMTPUsername”)!=null?sysconfkeys.FirstOrDefault(e=>e.metakey==“SMTPUsername”)。元值:“”; } } }_Asp.net Mvc_Linq_Design Patterns_Linq To Sql - Fatal编程技术网

Asp.net mvc asp.net mvc一次访问应用程序中的变量 公共静态类WebConfig { 私有静态IList系统密钥; 静态WebConfig() { sysconfkeys=systemconfigrep.GetAllSystemConfig(); } 私有静态字符串_SMTPPort=“”; 公共静态字符串SMTPPort { 得到 { 返回_SMTPPort=sysconfkeys.FirstOrDefault(e=>e.metakey==“SMTPPort”)!=null?sysconfkeys.FirstOrDefault(e=>e.metakey==“SMTPPort”)。元值:“25”; } } 私有静态字符串_SMTPUsername=“”; 公共静态字符串SMTPUsername { 得到 { return _SMTPUsername=sysconfkeys.FirstOrDefault(e=>e.metakey==“SMTPUsername”)!=null?sysconfkeys.FirstOrDefault(e=>e.metakey==“SMTPUsername”)。元值:“”; } } }

Asp.net mvc asp.net mvc一次访问应用程序中的变量 公共静态类WebConfig { 私有静态IList系统密钥; 静态WebConfig() { sysconfkeys=systemconfigrep.GetAllSystemConfig(); } 私有静态字符串_SMTPPort=“”; 公共静态字符串SMTPPort { 得到 { 返回_SMTPPort=sysconfkeys.FirstOrDefault(e=>e.metakey==“SMTPPort”)!=null?sysconfkeys.FirstOrDefault(e=>e.metakey==“SMTPPort”)。元值:“25”; } } 私有静态字符串_SMTPUsername=“”; 公共静态字符串SMTPUsername { 得到 { return _SMTPUsername=sysconfkeys.FirstOrDefault(e=>e.metakey==“SMTPUsername”)!=null?sysconfkeys.FirstOrDefault(e=>e.metakey==“SMTPUsername”)。元值:“”; } } },asp.net-mvc,linq,design-patterns,linq-to-sql,Asp.net Mvc,Linq,Design Patterns,Linq To Sql,用法:WebConfig.SMTPUsername 目前:在我的视图或控制器中,我在整个系统中以上述方式使用系统级变量。但是上面的问题是静态构造函数在初始时只被调用一次。如果更改了SMTPUsername,新的SMTPUsername将不会反映在系统中。我必须重新启动iis池才能再次调用它 我想要的是:开发一种机制,当某个变量发生变化时,它会使数据库命中。如果没有任何变化,那么就访问已经获取的变量。有人能提供一些关于这方面的见解吗?asp.net mvc中推荐的任何方法 我想做的是实现缓存。但是

用法:WebConfig.SMTPUsername

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

我想要的是:开发一种机制,当某个变量发生变化时,它会使数据库命中。如果没有任何变化,那么就访问已经获取的变量。有人能提供一些关于这方面的见解吗?asp.net mvc中推荐的任何方法

我想做的是实现缓存。但是我可以用什么样的方式来做呢?

您可以实现

 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 : "";
        }
    }
}