Two questions:
1. If I have a content page and a master page and I put t开发者_Go百科his inside my content page:
<%@ OutputCache ...%>
Does it cache the whole page or only the content page portion?
2. How can I apply OutputChace in the master page?
I have a master page that has a lot of content pages that uses it. I want to apply the same outputcache profile on all of them, but I dont want to go one by one and change them.
Thanks.
The whole page is cached.
Edit
You can use user controls to cache portions.
As by the comments, if you want to cache all pages that are using a specific master page, you need the following code in the master page
protected void Page_Load(object sender, EventArgs e)
{
Response.Cache.SetExpires(DateTime.Now.AddMonths(1));
Response.Cache.SetCacheability(HttpCacheability.ServerAndPrivate);
Response.Cache.SetValidUntilExpires(true);
}
Content page only will be cached; unless that content page is using the master page, in which case master page also will be cached.
Unlike a content page you can't use OutputCache
directive for master page. See the below links
Cache Master Page in ASP.NET
http://www.dotnetperls.com/output-cache
http://forums.asp.net/t/1236981.aspx
精彩评论