WebResource

来源:互联网 发布:百度云直链3.0php源码 编辑:程序博客网 时间:2024/05/16 17:06

 

前两周在做Web控件,发现WebResource还是不错的东西,特别是应用在控件上资源。这样就不用关心路径问题了。当然这还是要付出性能代价的。以下摘抄一下别人的Blog,以备以后自已查用:

 

ASP.net 2.0 中 WebResource.axd 管理资源的一些知识点

http://blog.joycode.com/ghj/archive/2008/01/14/113719.aspx

 

在 ASP.net 2.0 构建的Web页面中,查看源文件,我们经常会看到下面的Html文本

<script src="/WebResource.axd?d=QfRKDnWw93T08KaF3ioSKQ2&amp;t=633313193233609691" type="text/javascript"></script>

<script src="/WebResource.axd?d=9iVKU5SS0wd5al1SYg8zjL8XXbP97LbENHerY4aLtJk1&amp;t=633313193233609691" type="text/javascript"></script>

这是 ASP.net 2.0 提供的新的资源管理方式产生的脚本。

新的资源管理方式如何使用,你可以参看以下几篇博客:

使用ASP.NET 2.0提供的WebResource管理资源
http://birdshome.cnblogs.com/archive/2004/12/19/79309.html

在自定义Server Control中捆绑JS文件 Step by Step
http://www.cnblogs.com/jackielin/archive/2005/11/29/286570.html

使用 ASP.NET 2.0 中 Web 资源
http://support.microsoft.com/kb/910442

在.NET 1.1下实现WebResource.axd
http://www.cnblogs.com/yeahooh/archive/2007/07/27/833846.html

 

使用 WebResource管理资源时, 我们会经常收到类似下面的异常

System.Web.HttpException: 无效的视图状态。
System.Security.Cryptography.CryptographicException: 填充无效,无法被移除。

比如下面几个文章就提到了这个问题:

Annoying CryptographicException on WebResource.axd
http://forums.asp.net/t/934913.aspx

ASP.Net’s WebResource.axd and machineKey badness
http://blog.aproductofsociety.org/?p=11

 

这是因为 WebResource.axd  URL 的参数具有时效性,但是对于搜索引擎的爬虫来说,他们会经常访问这些参数过期的地址,所以就会出现上面的异常。

这个问题的解决方案,目前没有更好的方案,微软论坛中只是建议在robots.txt 文件中增加下面的信息:

User-agent: *
Disallow: /*.axd$

但是这要求遵循 robots.txt 规范的爬虫们下次获得

原创粉丝点击