是否有可能迫使ASP.NET从不同的WebResource.axd / ScriptResource.axd应用程序中生成WebResource.axd / ScriptResource.axd URL的相同哈希部分?
例如,我有嵌入资源"control.js“的control.js,它用于两个网站: www.site1.com、www.site2.com (MyControls.dll存在于两个站点的bin文件夹中)。对于每个网站,ASP.NET为"control.js“生成具有不同哈希的WebResource.axd URL。
问题:是否可以强制两个站点使用相同的资源URL?
为什么我需要这个.?我使用“共享”CDN从两个网站的资源。它适用于除WebResource.axd / ScriptResource.axd之外的所有资源。当从www.site2.com请求资源时,CDN试图从www.site1.com检索缓存资源,但由于来自www.site2.com的散列不同,CDN无法加载和缓存资源。
发布于 2013-03-06 11:28:12
您可以使用asp:ScriptManager‘解包’资源--对于代理缓存来说要好得多,因为它们不倾向于使用querystring缓存URL
<asp:ScriptManager ID="Script" runat="server" EnablePartialRendering="true">
<Scripts>
<asp:ScriptReference Name="MicrosoftAjax.js" Assembly="System.Web.Extensions" Path="~/js/ms/MicrosoftAjax.js" >
<asp:ScriptReference Name="MicrosoftAjaxWebForms.js" Assembly="System.Web.Extensions" Path="~/js/ms/MicrosoftAjaxWebForms.js">
</Scripts>
</asp:ScriptManager>如果确实选择了这种方法,请不要忘记启用gzip和适当的缓存指令。
https://stackoverflow.com/questions/15244754
复制相似问题