Disable ASP.net Cache

2020-03-14 17:54发布

Is there a way to disable asp.net caching on selected page. It would be nice if this can be done from the web.config.

3条回答
家丑人穷心不美
2楼-- · 2020-03-14 18:41
<!-- In the page itself -->
<%@ OutputCache Location="None" %>

Or

// In the code-behind
Response.Cache.SetCacheability(HttpCacheability.NoCache)

Unfortunately, it has to be done within the page. There's no easy way to do it from web.config. For more information, check out:

MSDN - Setting the Cacheability of a Page

查看更多
男人必须洒脱
3楼-- · 2020-03-14 18:51

Yes you can if you are willing to create your own config section: http://msdn.microsoft.com/en-us/library/2tw134k3.aspx

In your config section put something like,

<cachingConfig>
    <path>/Navigation/Menu.aspx</path>
    <path>/Target/Console.aspx</path>
    <path>/Target/Charting/Chart.aspx</path>
</cachingConfig>

You could add more properties such as duration if you like.

Then, on the page_Init method of your pages, check this configuration section and call the following where appropriate:

Response.Cache.SetCacheability(HttpCacheability.NoCache)

Edit: Tip: Put the init code in a base class that your pages inherit, so that it is only one place.

查看更多
虎瘦雄心在
4楼-- · 2020-03-14 18:51
Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1));
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetNoStore();
查看更多
登录 后发表回答