在使用asp.net2.0技术编写的web页面中,我们可能会看到类似以下的代码:
<script src="/WebResource.axd?d=mHhnTZHAJcKSoxNjLYe2nA2&t=634485795818906250" type="text/javascript" ></script >
<link rel="stylesheet" type="text/css" href="/WebResource.axd?d=-XAsT9dT7ctqh-IRmhqwNGvcZt8cEDo2Ea6hkCTQFl3tG8gUAqab7rfUvDFlAqWxU_eNTArXTKZgk8mTY2MVdx-lABqk452E8CMik2AhDMDHG8f4J1isL_0nKAjKvguLsakuGJgkPsPQeyGZhHWc_w2&t=634218885030312500" / >
那么,
WebResource.axd到底是个什么东西呢?
WebResource.axd是ASP.net 2.0 提供的新的资源管理方式产生的脚本,主要用来管理一些外部资源,如image,script,css等。
可能产生的问题:使用 WebResource管理资源时, 我们可能会收到类似下面的异常:
1,System.Web.HttpException: 无效的视图状态。
2,System.Security.Cryptography.CryptographicException: 填充无效,无法被移除。
这是因为 WebResource.axd URL 的参数具有时效性,如果访问这些参数过期的地址,就会出现上面的异常.
格式分析:仔细查看上面的代码,就会发现WebResource.axd后面的参数由d,t两部分组成,其中:
"d"代表请求的web资源.
"t"是一个时间戮值.
asp.net2.0产生的WebResource.axd文件很大,如果我们不想让我们的网站加载这些外部资源(因为加载它们会影响我们的网站加载速度),即网站源码中不出现WebResource.axd的引用,那么我们不使用asp.net自带的控件验证机制即可!
以上为小编个人理解,有不全面或错误的地方,请大家在评论中指出,谢谢大家。