如果网站的本地化是这样完成的,即对mvc控制器中的每个请求都读取当前线程,并在该信息上加载部分视图(导致每种语言都有不同的局部视图)以及非局部视图内的字符串使用资源字符串进行本地化使用数据标注设置本地化的自定义属性如果线程正在改变,缓存控制器动作
[Localize]
public class HomeController : Controller
{
public ActionResult Index()
{
string partialView = string.Empty;
switch (Thread.CurrentThread.CurrentCulture.ToString())
{
case "en-US":
partialView = "english";
....
}
ViewBag.PartialViewName = partialView;
return View();
}
}
我的问题
控制器是:我怎么能缓存这个
Index
行动明知有 有7种不同的语言?
更新: 如果我使用例如
[OutputCache(Duration = 300)]
public ActionResult Index()
{}
然后我失去切换语言的能力。
否则你如何缓存? – DavidG