每次更改文化(语言)时,我都会在控制器中执行索引方法,所以我希望每次更改文化时都会执行索引方法。 但是我的动作方法没有执行,并且缓存副本与之前的文化一起显示,因此我对文化的更改不会受到影响。 要克服outputcache和要执行的方法,我使用以下代码。 它正在开发本地解决方案,但在实时部署时无法正常工作。 请帮帮我。
[OutputCache(Duration = 3600, VaryByParam = "none", VaryByCustom = "lang")]
public ActionResult Index(string assetCode, Guid? chapterId)
{
// ...
}
public override string GetVaryByCustomString(HttpContext context, string value)
{
if (value.Equals("lang"))
{
return Thread.CurrentThread.CurrentUICulture.Name;
}
return base.GetVaryByCustomString(context, value);
}