我想对我支持的VaryByCustom参数类型使用Enum值,是否可以这样做?
我尝试在页面中设置它
<%@ OutputCache Duration="600" VaryByParam="none"
VaryByCustom='<%=VaryByCustomType.IsAuthenticated.ToString(); %>' %>
但是这会在我的"<%=VaryByCustomType.IsAuthenticated.ToString(); %>"
中返回整个文字字符串global.asax
有没有办法在页面本身或代码隐藏中执行此操作?或者这只是我必须接受的纯粹魔术字符串,我无法为其添加类型安全性吗?
答案 0 :(得分:8)
不要使用@Outputcache指令,而是尝试使用页面中的代码。 e.g。
void Page_Init() {
var outputCacheSettings = new OutputCacheParameters() {
Duration = 600,
VaryByCustom = VaryByCustomType.IsAuthenticated.ToString()
};
InitOutputCache(outputCacheSettings);
}