我有一个MVC2应用程序和HttpHandler库。图书馆,为了简化,为图片提供服务。问题是,如果我从根页面(http://whatever/)调用这个处理程序,一切工作正常。但是,如果我更改Global.asax,那么同一页现在的地址为http://whatever/controller/action - 它不起作用(ALT文本出现而不是图像)。httphandler不参与非主页
我没有写处理程序库,但我有代码;所以我在IHttpHandler实现的ProcessRequest函数中放置了一个断点。对于不错情况下断点被触发,但对于不好的情况不是。所以,我认为这个处理程序没有为非根页面调用。
这是我在system.webServer /处理器部分:
<add name="ImageHandler" verb="*"
path="ImageLib.axd" type="ImageHandler, ImageHandler" />
视图页面有
<img src="ImageLib.axd?image=img001.jpg" alt="real image here" />
我不知道,如果MVC中它起到什么作用?旧的WebForms应用程序可以使用相同的设置正常工作。
希望我提供了我所知道的一切。当然,如果有什么不清楚的地方,我会很乐意尽我所能解释!
好吧,只需添加前面的斜线*做*工作。我不确定第二部分 - 我没有物理Image.axd。我认为Image.axd被映射到ImageHandler,该ImageHtiller包含在作为参考包含的ImageUtil.dll中。我想,这意味着在根本上;因此斜线解决了这个问题。 非常感谢! – Felix 2010-03-02 04:39:28
啊,是的,不是所有的.axd处理程序都有一个实际的.axd文件......有些取决于实现。很高兴解决方案工作。 :) – jrista 2010-03-02 04:40:46