Я использую httphandler для переназначения браузера Urls на файлы на моем веб-сайте. Это работает отлично, но у меня возникают проблемы с доступом к файлам, которые я создал в новом каталоге. URL выглядит следующим образом:404 в ASP.Net с использованием httphandler
http://mobile.mysite.com/monitoring/help/help.aspx
Однако информация, возвращаемая в сообщении об ошибке 404 показывает, что он не может найти файл под:
D:\Sites\Website\monitoring\help\help.aspx
же файл действительно, расположенный под:
D:\Sites\Website\mobile\monitoring\help\help.aspx
Мой обработчик http обычно распознает «мобильный» субдомен. Фактически, если я оставил фактический файл и просто использовал каталог, мой обработчик действительно вызван. Даже если я поставил точку останова в моем коде, VS никогда не будет вызван. Почему IIS обращается к help.aspx под каталогом, который не существует? Почему мой httphandler не называется. Как я уже упоминал, httphandler действительно работает практически для всех других файлов. Я могу вызвать файл aspx, расположенный в других доменах.
Это как мой обработчик выглядит в файле web.config:
<add name="FileServerHandler-Files" path="*.*" verb="*" type="FileServerHandler" modules="ManagedPipelineHandler" scriptProcessor="" resourceType="Either" requireAccess="Read" allowPathInfo="false" preCondition="" responseBufferLimit="4194304" />
Запуск ASP.NET 4.0 на IIS7
Субдомен «мобильный» на самом деле отображается в тот же IP-адрес, что и главный сайт. Связано ли это с этим? Если это так, это не объясняет, почему обработчик может получить доступ к папкам под мобильным доменом, но не к файлам aspx.