OutputCache造成页面响应内容类型为text/vnd.wap.wml的问题
这段时间,访问博客园首页有时会出现text/vnd.wap.wml文件下载的对话框,如下图:
出现这个问题后,等1分钟左右或者回收应用程序池就恢复正常。开始以为是IIS 7的问题,不知道从何处下手去找出原因。
今天终于在iis.net的论坛中找到了原因:aspx" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-decoration: underline; color: rgb(0, 102, 204); " target="_blank">Prevent automatic content type switching to text/vnd.wap.wml of *.aspx files。
问题是在下面的情况下出现的:
博客园首页使用了ASP.NET的页面缓存:
<%@ OutputCache Duration="60" VaryByParam="*" VaryByCustom="FullUrl" %>
当某个只能接受text/vnd.wap.wml内容类型的客户端在缓存过期时访问博客园首页,ASP.NET会建立响应内容类型为text/vnd.wap.wml的缓存,这时正常浏览器访问得到的就是text/vnd.wap.wml响应内容,于是出现文件下载对话框,当这个缓存过期后就恢复正常。
下面我们用测试代码重现这个问题。
测试页面文件为http://www.2cto.c
相关新闻>>
- 发表评论
-
- 最新评论 更多>>