gpt4 book ai didi

asp.net-mvc - mvc 编辑器模板结果被缓存

转载 作者:行者123 更新时间:2023-12-05 00:38:49 25 4
gpt4 key购买 nike

我将编辑器模板与自定义母版页一起使用,以便

Html.EditorFor(o => o.Name)

生成一个标签和一个输入,我还使用自定义 DisplayName 属性来本地化标签
[DisplayNameLocalized("Name")]
public string Name {get;set;}

我在属性的构造函数中放置了一个断点,并注意到它仅在我第一次使用 EditorFor 呈现页面时才被调用,所以我猜 editorfor 的结果被缓存了,有人知道如何避免这种缓存吗?

最佳答案

理想情况下,您需要使用 [NoCache] Action 的属性。

public class NoCacheAttribute : ActionFilterAttribute
{
public override void OnResultExecuting(ResultExecutingContext filterContext)
{
filterContext.HttpContext.Response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1));
filterContext.HttpContext.Response.Cache.SetValidUntilExpires(false);
filterContext.HttpContext.Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches);
filterContext.HttpContext.Response.Cache.SetCacheability(HttpCacheability.NoCache);
filterContext.HttpContext.Response.Cache.SetNoStore();

base.OnResultExecuting(filterContext);
}
}

也可以使用 <%@ OutputCache %>模板中的指令 - 但有些人提示它并不总是有效。

供引用看 here .

您可以使用 <%@ OutputCache NoStore="true" %>

关于asp.net-mvc - mvc 编辑器模板结果被缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5246285/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com