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”)。元值:“”; } } }
用法:WebConfig.SMTPUsername 目前:在我的视图或控制器中,我在整个系统中以上述方式使用系统级变量。但是上面的问题是静态构造函数在初始时只被调用一次。如果更改了SMTPUsername,新的SMTPUsername将不会反映在系统中。我必须重新启动iis池才能再次调用它 我想要的是:开发一种机制,当某个变量发生变化时,它会使数据库命中。如果没有任何变化,那么就访问已经获取的变量。有人能提供一些关于这方面的见解吗?asp.net mvc中推荐的任何方法 我想做的是实现缓存。但是我可以用什么样的方式来做呢?您可以实现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中推荐的任何方法 我想做的是实现缓存。但是
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 : "";
}
}
}