웹 응용 프로그램의 모든 이미지를 CDN으로 이동하는 과정에 있지만 경로를 하드 코딩하지 않고도 CDN을 쉽게 켜거나 끌 수 있습니다. 이미지.ASP.NET의 이미지 용 CDN
내 첫 번째 생각은 web.config의 변수가 서버 또는 CDN의 이미지를 제공하는지 여부에 따라 이미지 확장을위한 HttpHandler를 추가하는 것이 었습니다. 그러나 이것이 약간을 제공 한 후에는 ASP.NET이 모든 단일 이미지에 대한 요청을 처리하여 오버 헤드가 추가되고 실제로 CDN 사용의 이점을 완전히 줄일 수 있기 때문에 본질적으로이를 배제했다고 생각합니다.
내 페이지가 모두 기본 페이지 클래스에서 상속되기 때문에 기본 클래스에서 web.config 변수를 기반으로 파일을 제공 할 경로를 결정하는 함수를 만들 수 있습니다. 나는 다음 마크 업에 이런 짓을 할 것이다 :
<img src='<%= GetImagePath()/image.png' />
나는 이것이 내가이 일을 끝낼해야합니다 아마 무슨 생각하지만 그것은 나에게 조금 어설픈 것 같다. 나는 또한 "< %"솔루션이 작동하지만 "< % ="때문에 컨트롤 컬렉션을 수정할 수 없다는 기존의 .NET 오류에 대해 생각하고 있습니다.
구현 방법에 대한 의견이나 제안이 있으십니까? 당신이 루프 모든 컨트롤을 할 수 귀하의 기본 클래스의 PreRender 이벤트의 이미지 URL을 변경
에 기사를 썼다. . . 내 생각에 꽤 사려 깊지. 가장 큰 걱정은 각 이미지 요청이 CDN에서 이미지를 요청하고 CDN의 응답 헤더에서 수행 된 클라이언트 쪽 캐싱을 완화 할 수 있다는 것입니다. 그 결정을 내리기 위해 두포에서 진행되는 일에 대해 충분히 알지 못합니다. – Chris
HttpHandler가 이미지 데이터를 서버하면 CDN을 사용하여 대역폭을 절약 할 수 없습니다. 또 다른 옵션은 HttpHandler가 동일한 URL의 CDN 버전에 302를 보내도록하는 것입니다. – David