我在这里看到静态类和静态函数很糟糕,因为它们占用了大量内存。
我将它用于许多需要与数据库交互等的事情。
此示例是静态本地化类的一部分,GetResources
public static class SFLocalization
{
public static string GetResources(string key)
{
string CurrentLanguage = System.Threading.Thread.CurrentThread.CurrentUICulture.ToString();
if (MemoryCache.Default["Resources_" + key] == null)
{
string x
using (Db _db = new Db())
{
MemoryCache.Default["Resources_" + key] = _db.Languages.First(l => l.Key == key && l.LanguageCode == CurrentThread).Value;
}
}
return MemoryCache.Default["Resources_" + key];
}
}
然后在视图、控制器等中。我只写这个来获取翻译后的值
@SFLocalization.GetResources("NewsletterBoxTitle")
1.) 在这些情况下,静态类真的那么糟糕吗?
2.) 有什么选择?也许是依赖注入(ninject 等)??(我在 Apress - Pro Asp.net Mvc 4 一书中看到过