Я подозреваю, что это связано с тем, что вы используете MVC, поскольку в основном он контролирует все входящие запросы.
Я подозреваю, что вам придется использовать таблицу маршрутизации и, возможно, создать новый обработчик маршрутизации. Я сам этого не делал, но что-то вроде этого может сработать:
void Application_Start(object sender, EventArgs e)
{
RegisterRoutes(RouteTable.Routes);
}
public static void RegisterRoutes(RouteCollection routes)
{
routes.Add(new Route
(
"{action}.imu"
, new ImageRouteHandler()
));
}
, а затем класс ImageRouteHandler
вернет ваш пользовательский ImageHttpHandler
, хотя, посмотрев на примеры в Интернете, было бы лучше изменить его, чтобы он реализовывал MvcHandler
, а не прямой IHttpHandler
.
Редактировать 1: Согласно комментарию Питера, вы также можете игнорировать расширение, используя метод IgnoreRoute
:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.imu/{*pathInfo}");
}