將應用程序從ASP.NET MVC 1升級到ASP.NET MVC 2後,RC高速緩存替換已停止工作。緩存替代在ASP.NET MVC 2中工作嗎?
這是我的行動:
[OutputCache(Duration = 30, VaryByParam = "none")]
public ActionResult CacheTest1()
{
return View("CacheTest");
}
這是替補擴展:
public static object Substitute(this HtmlHelper html, MvcCacheCallback cb)
{
html.ViewContext.HttpContext.Response.WriteSubstitution(
c => cb(new HttpContextWrapper(c)));
return null;
}
這是我的看法:
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>CacheTest</title>
</head>
<body>
<div>
Date: <%=DateTime.Now.ToString() %>
Substitute: <%=Html.Substitute(c => DateTime.Now.ToString()) %>
Response.WriteSubstitution: <% Response.WriteSubstitution(c => DateTime.Now.ToString()); %>
</div>
</body>
</html>
頁面緩存一分鐘,替換不起作用,它只是顯示頁面最初呈現的時間。這是在ASP.NET MVC 1.0工作!
任何想法?
謝謝
謝謝。我已經讀過。我預計即使Html.Substitute不再可用,我也可以使用另一種解決方案達到相同的效果。 – 2010-02-08 11:14:12
這是最終的迴應嗎? – 2010-03-12 11:02:44
對此有何更新?備用解決方案? – 2010-06-20 02:04:00