2012-12-15 48 views
2

当查看由.ASP生成的页面的源代码(我是一个noob)时,我有时会看到通过WebResource.axd引用的源代码?d =后面跟着一个非常长且不可读的字母和数字字符串。我会猜测并说它是一个指向一个脚本的指针(基于我看到的脚本标签)或许是在一个库中?WebResource.axd加密字符串?

<script src="/Portal/WebResource.axd?d=amy4Qb3YKPApQh4cMI21MoSwRmquuliNIlSx7bF7geaDZ56xwuLIPLkQdH_fNIrpB_hHiKLdv041_WJ1yWe27HSI4a5Spexg3Tg9fHZd33Q1&amp;t=634666000000418502" type="text/javascript"></script> 

我关闭了吗?这个字符串是如何生成的?它是由系统自动创建的吗?例如,作为开发人员,如果我输入<script src="/folder/myscript.js">,WebResource是否会在服务器端将其转换为此长字符串并以此方式返回?

回答

2

WebResource.axd实际上是一个HTTP Handler用于从程序集加载嵌入式资源。它是AssemblyResourceLoader处理程序,并在您使用的框架版本的Config\web.config文件中定义。以下是定义:

<add path="WebResource.axd" verb="GET" type="System.Web.Handlers.AssemblyResourceLoader" validate="True" /> 

有关更多信息,请参阅文章Just Where Is WebResource.axd?。文章片段如下。

答案是WebResource.axd。 WebResource.axd是一个HTTP处理程序,它是.NET Framework的一部分,它只执行一件事和一件事 - 它的任务是从DLL中获取嵌入式资源,并返回其内容。 返回其内容。通过查询字符串指定要使用哪个DLL以及 所采用的嵌入式资源。例如,请求 www.yoursite.com/WebResource.axd?d=EqSMS... & t = 63421 ...可能会返回 嵌入特定程序集的特定JavaScript代码段。 d查询字符串参数包含 指定要返回的程序集和资源的加密信息; t查询字符串 参数是一个时间戳,用于仅允许对使用该URL的该资源的请求访问某个时间窗口。

+0

好的,所以如果我从你提供的链接了解(谢谢),那么我在我的理解中就已经关闭了。我想我需要在VS 2010中创建一个测试.ASP项目,使用一两个脚本,并且给它一个旋转。正如我所提到的,我是.ASP的noob,并且不确定将WebResource.axd将使用的Javascript放在哪里。我想我需要学习这些链接多一点... – user1906260