У нас есть несколько обработчиков HTTP, указанных в нашем web.config. Когда мы запускали этот сайт через проект веб-сайта, все работало нормально. Но по какой-то причине после переноса этого в проект WAP и указания на платформу .NET 3.5 обработчики не работают, когда я открываю сайт в IIS 7 в нашем окне разработчика. Нужно ли мне делать что-то особенное в IIS7, кроме указанных настраиваемых обработчиков, которые уже существуют в моем web.config?
Когда я смотрю на раздел «Сопоставления обработчиков» в IIS 7 для нашего сайта, я вижу 3 обработчика, перечисленных с нашим настраиваемым расширением. Похоже, он подбирает наши обработчики, указанные в нашем 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 в настраиваемом разделе:
<add name="sss" path="*.prod" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" preCondition="bitness32"/>