如果没有查询字符串,是否可以跳过HttpHandler?

时间:2009-08-01 00:58:40

标签: asp.net query-string httphandler httpmodule request.querystring

我写了一个动态图像缩放器作为HttpHandler。它会自动调用带图像扩展名的任何内容,例如:

http://www.mysite.com/picture.jpg?width=200&height=100

将运行处理程序并返回带有正确响应标头的缩略图图像。但是,我希望处理程序在没有查询字符串的情况下调用请求“传递”:

http://www.mysite.com/picture.jpg

我想让它返回带有标题信息的图像,就好像它没有通过处理程序运行它一样。这是否可行,而无需手动编写标题信息(包括打开文件流以读取数据,如上次写入日期),或者我是否必须将处理程序转换为HTTPModule

2 个答案:

答案 0 :(得分:4)

处理程序必须“处理”请求。这是链条的终点。您需要将其设为HttpModule,或者您需要自己提供图像,无论您是否调整它。

答案 1 :(得分:1)

难道你不能只调整你的处理程序来解决这种情况吗?您可以确保没有查询字符串参数,只需将请求路径映射到磁盘并通过打开它直接返回图像,然后将其写入输出流。