我在移动所有的图像在我的web应用程序转移到CDN的过程图像,但我希望能够轻松地切换CDN或关闭,而不必硬编码路径到图像。CDN在ASP.NET
我首先想到的是添加一个HttpHandler的是,根据在web.config变量(类似)是否会从服务器或从CDN服务图像的图像扩展。但尽管如此,我认为我基本上排除了这一点,因为它会导致ASP.NET处理每个映像的请求,从而增加开销,并且可能实际上完全减轻了使用CDN的好处。
另一种方法是,因为我所有的页面从基本页类继承,我可以创建基类,它决定了路径为来自基于关闭的web.config变量文件的功能。然后我会做这样的事在标记:
<img src='<%= GetImagePath()/image.png' />
我想,这大概就是我将不得不最终做,但似乎有点麻烦我。由于“<%=”,虽然“<%#”解决方案可能可行,但我还想象出旧的.NET错误无法修改控制集合。
关于如何实现这个的任何想法或想法?
是啊,我不知道为什么我甚至没有意识到第二个方法介入的ASP.net过程。 。 。对我而言,这是非常不体面的。我想我最大的担忧是,每个图像请求会从CDN请求图像,并可能缓解来自CDN的响应头完成的客户端缓存?我不知道发生了什么事情可以做出决定。 – Chris 2010-03-27 20:21:18
如果您的HttpHandler的服务器上的图像数据,那么你不使用的CDN得到任何节省带宽。另一个选择是让你的HttpHandler发送一个302到相同URL的CDN版本。 – David 2011-05-25 22:04:05