我正在尝试在 HTML Helper 上使用输出缓存。但是,即使设置了属性,在调用 Helper 方法时始终会输入此代码块。由于 outputcache 属性在这种情况下不起作用,在 Html Helpers 中缓存“昂贵”查询的推荐方法是什么?
[OutputCache(Duration = 60)]
public static MvcHtmlString CountryDropDownListFor<TModel, TValue>(this HtmlHelper<TModel> html, Expression<Func<TModel, TValue>> expression, object selectedValue)
{
var doc = new XmlDocument();
doc.Load(HttpContext.Current.Server.MapPath("~/App_Data/countries.xml"));
var items = new Dictionary<string, string>();
foreach (XmlNode node in doc.SelectNodes("//country"))
{
items.Add(node.InnerText, node.InnerText);
}
return html.DropDownListFor(expression, new SelectList(items, "key", "value", selectedValue));
}