当你在你的应用程序,像这样的图像标签:ASP.NET(WebForms或MVC)应用程序中的哪个代码组件提供图像等网站资源?
<img src = @Url.Content("~/foo/bar.jpg") />
或像这样:
<asp:image src = "~/foo/bar.jpg" />
或像这样:
<input type = "image" ...>
,如果发生这种情况,是一个ASP.NET应用程序(Web窗体或MVC与问题无关,我认为,因为服务图像的代码必须相同),哪个特定组件为图像请求提供服务?
它是Web服务器(IIS还是Visual Studio的内部Web服务器),还是Microsoft编写的ASP.NET HttpHandler?
我记得曾经有一个用于处理ASP.NET 2.0资源文件的处理程序。那也是服务于图像的吗?它叫什么?
我为什么要问这个问题/我所试图做的
我有一个ASP.NET MVC应用程序,我想要写我自己的自定义的HttpHandler或控制器提供静态资产像这样的图像他们得到缓存。
什么我打算做的事情几乎完全相似http://blog.hompus.nl/2011/03/11/make-your-browser-cache-the-output-of-an-httphandler/和http://archive.msdn.microsoft.com/ResourceCache
我要确保,如果有已经被微软写一个,我可能需要采取一些预防措施,而在发回的HTTP标头回应只是为了让微软的内置httpHandler集合的头部不会违背我设定的内容。
非常感谢。 :-) 它说图像和静态资源是由默认的提供ASPX页面的HttpHandler提供的? – 2013-03-14 12:25:20
@ WaterCoolerv2问题是,.aspx页面的请求由默认的HttpHandler处理。将图像嵌入到aspx页面时,没有特别的处理方式。如果它们是服务器控件(''),它们将作为常规ASP.NET页面生命周期的一部分进行处理。即使它们只是静态的''元素,它们仍然会被处理并插入到由HttpHandler生成的呈现的HTML标记中。现在,如果您直接从Web服务器请求图像(并且不请求aspx页面),则会处理该图像,但是IIS已设置为处理该图像。 –
jadarnel27
2013-03-14 13:25:46