Я пишу обработчик для обработки ресурса, и я столкнулся с проблемой, когда реализованный класс IHttpHandler написан под пространством имен.Функция обработки процесса обработчика Ashx не называется
Пожалуйста, найдите код
Не работает СЦЕНАРИЙ
Web.config:
<add name="ResourceHandler" type="PublicSite.Classes.Handlers.ResourceEndpoint, PublicSite" path="Resource.ashx" verb="*" />
Свойство: PublicSite.Classes.Handlers.ResourceEndpoint.IsReusable=False
Выпуск: Конструктор ударил и ProcessRequest не вызывается , Создает объект класса, т. Е. Конструктор попадает, но сбой не выполняется на 404 до вызова processrequest.
Рабочий сценарий
Web.config:
<add name="ResourceHandler" type="ResourceEndpoint,PublicSite" path="Resource.ashx" verb="*" />
Класс: PublicSite.Classes.Handlers.ResourceEndpoint.IsReusable=True
Конструктор ударил и не по 404 до ProcessRequest вызывается.
Второй раз, когда мы запрашиваем обработчик, он сразу же использует сконструированный объект, поэтому construcotr не вызывается, а ProcessRequest вызывается напрямую. Кстати, во втором вызове обработчик работает.
Я не требую многоразового использования. Может ли кто-нибудь помочь мне найти проблему. Благодарю.
Вы используете фактический файл .ashx, а также регистрируете его в веб-конфигурации? –
Возможно, даже если обработчик находится в пространстве имен, вам нужно только имя класса без пространства имен в строке конфигурации? –
Какую версию IIS вы используете? для 6 и ниже вам нужно зарегистрировать обработчик под, но для 7 и выше он находится в разделе в web.config –
sh1rts