Пользовательские Http-обработчики IIS7 и ASP.NET
У нас есть несколько обработчиков HTTP, указанных в нашем файле web.config. Когда мы запустили этот сайт через проект веб-сайта, все работало нормально. Но по какой-то причине, после переноса этого на проект WAP и указания на среду .NET 3.5, обработчики не работают, когда я поднимаю сайт в IIS 7 на нашем компьютере разработчика. Нужно ли делать что-то особенное в IIS7, кроме указанных пользовательских обработчиков, которые уже существуют в моем web.config?
Когда я просматриваю раздел «Сопоставления обработчиков» в IIS 7 для нашего сайта, я вижу три обработчика, перечисленные с нашим настраиваемым расширением. Так выглядитs выбирает наши обработчики, указанные в нашем web.config. Но я знаю, что обработчики, которые работали на не-WAP-сайте, не работают в этом проекте WAP, и я нене знаю почему.
Например, когда один из наших обработчиков пытается подключиться по ссылке, я получаю:
Ошибка сервера в «/» Заявка. Описание ошибки синтаксического анализатора: во время анализа ресурса, необходимого для обслуживания этого запроса, произошла ошибка. Пожалуйста, просмотрите следующую конкретную информацию об ошибке разбора и измените исходный файл соответствующим образом.
Parser Error Message: Could not create type 'jaxHandler'.
Source Error:
Line 1:
Line 2:
Line 3: using System;
Source File: /jaxHandler.ashx Line: 1
Version Information: Microsoft .NET Framework Version:2.0.50727.3074; ASP.NET Version:2.0.50727.3074
Более того, когда я пытаюсь щелкнуть гиперссылку на нашем сайте, на которой есть .customextension, обработчик этого не делает.Кажется, я это понял.
Поэтому, когда я нажимаю на гиперссылку, я получаю:
HTTP Error 404.0 - Not Found
The resource you are looking for has been removed, had its name changed, or is temporarily unavailable. Detailed Error InformationModule IIS Web Core
Notification MapRequestHandler
Handler StaticFile
Error Code 0x80070002
Requested URL http://sss:80/somename.prod
Physical Path C:\www\sss\somename.prod
Logon Method Anonymous
Logon User Anonymous
(Я заменил реальный текст на 'SomeName» и название нашей компании с 'SSS') в случае выше для конфиденциальности.
Если я загляну в раздел Http Handlers в IIS7, я увижу, что * .prod зарегистрирован. И вот как мы настроили это в нашем web.config в пользовательском разделе: