2012-12-15 51 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