Asp.Net缓存特定的查询字符串参数,而不是其他参数

时间:2013-02-21 17:22:08

标签: asp.net caching outputcache

我无法弄清楚如何以下面发布的不同网址格式缓存此页面。

我想缓存这些页面:

/folder/
/folder/?page=2
/folder/?id=17
/folder/?id=17&page=2

我不希望具有查询字符串参数“search”的页面被缓存。

/folder/?search=1&param1=1&param2=2

我看过OutputCache的VaryByCustom参数,但我不知道如何阻止底部URL被缓存。

编辑 - 示例页

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="cache.aspx.vb" Inherits="cache" %>
<%@ OutputCache Duration="3600" VaryByParam="page;id" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<body>

    <%=date.now %>

</body>
</html>

1 个答案:

答案 0 :(得分:-1)

您必须仅指定要缓存的查询字符串参数。尝试使用VaryByParam属性并将其设置为以分号分隔的字符串列表;在您的情况下,请尝试以下方法。

VaryByParam =“page,param1,param2”