Я хочу запустить httphandler, когда некоторый пользователь получает доступ к файлу изображения с расширениями, такими как png, jpeg, gif и другие. Но я получаю eror 404, когда пытаюсь пройти. Я думаю, что сервер пытается найти файл на диске, но я хочу использовать псевдоним для доступа к файлу в моем обработчике и более новый доступ для реального фиктивного пути к файлу.
Пример файла конфигурации:Не запускать обработчик http в приложении asp.net
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
<httpHandlers>
<add verb="GET,HEAD" path="*.jpg" type="Startup.Shop.ImageHandler, Startup.Shop" validate="false"/>
</httpHandlers>
<authorization>
<allow users="*" />
</authorization>
</system.web>
<system.webServer>
<handlers>
<add name="ImageHandlerfor JPG" path="*.jpg" verb="GET" type="Startup.Shop.ImageHandler, Startup.Shop" resourceType="Unspecified" />
<add name="ImageHandler for GIF" path="*.gif" verb="GET" type="Startup.Shop.ImageHandler, Startup.Shop" resourceType="Unspecified" />
<add name="ImageHandler for BMP" path="*.bmp" verb="GET" type="Startup.Shop.ImageHandler, Startup.Shop" resourceType="Unspecified" />
<add name="ImageHandler for PNG" path="*.png" verb="GET" type="Startup.Shop.ImageHandler, Startup.Shop" resourceType="Unspecified" />
</handlers>
</system.webServer>
/configuration>
Пример класса обработчика:
public class ImageHandler : IHttpHandler, IRouteHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
context.Response.Write("Hello World");
}
public bool IsReusable
{
get
{
return false;
}
}
public IHttpHandler GetHttpHandler(RequestContext requestContext)
{
return this;
}
}
И еще - сервер IIS сконфигурировано в классическом режиме
Да, я забыл добавить о настройке сервера. В сопоставлениях Обработчиков есть следующий обработчик с именем ImageHandler и настройки: request path: * .png, * .jpeg, *. Jpg, *. Gif исполняемый файл: C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_isapi .dll, Все глаголы и тип пути: неуказанный – martmartius
Если это сработало для вас, можете ли вы отметить, как ответили, пожалуйста? – Paul