0
具有多个进程,使用相同的缓存(在这种情况下为memcached
)。这些流程是:分布式缓存密钥生成器
- 一个ASP.NET MVC应用4
- 控制台应用程序
我怎么能生成缓存键?
我一直在考虑使用一个采用程序集名称,完整类型名称,方法名称及其参数的策略。这看起来是这样的:
public static string GenerateKeyFor<T>(Expression<Action<T>> expr)
{
var method = Symbols.GetMethodInfo(expr);
var parameters = Symbols.GetParameters(expr);
var sb = new StringBuilder();
sb.Append(method.DeclaringType.FullName)
.Append(" - ")
.Append(method.Name)
.Append(" - ");
return parameters
.Aggregate(sb, AddParams)
.ToString();
}
用法:
var key = CacheUtils.GenerateKeyFor<HomeController>(x => x.List());
但是,如果我再要退出前。一个ActionResult
在ASP.NET MVC应用程序中,从控制台应用程序,然后我需要在我的控制台应用程序中引用ASP.NET MVC应用程序,以便可以参考HomeController
类型。有没有更好的方法来为这种场景生成密钥?