2013-03-06 1 views
0

다른 웹 응용 프로그램의 동일한 해시 부분 인 WebResource.axd/ScriptResource.axd을 생성하도록 ASP.NET을 강제 설정할 수 있습니까?여러 웹 응용 프로그램 및 CDN에 동일한 WebResource.axd/ScriptResource.axd

예를 들어 리소스가 "control.js"임베드 된 MyControls.dll이며 두 사이트 (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이 리소스를로드하고 캐시하지 못합니다.

답변

0

당신은 ASP를 사용할 수 있습니다 '풀기'자원에 스크립트 관리자를 - 그들은의 QueryStrings로 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 및 해당 캐싱 지시문을 사용하도록 설정해야합니다.

+0

ScriptManager가 스크립트의 문제를 해결할 수는 있지만 제 경우에는 리소스가 JS, CSS 및 이미지 일 수 있습니다. –

관련 문제