Я обновил свое приложение asp.net 3.5 до 4.0 и добавил поддержку маршрутизации (добавлены dll, сделанные как «копия локали»). Работает отлично локально. После развертывания в IIS7 (с использованием метода публикации FileSystem в VS2010) он дает 403 «доступ запрещен», когда я пытаюсь получить доступ к базовому URL (mysite.com). Если я пытаюсь перейти по любому URL-адресу маршрута (mysite.com/resources), выдается ошибка 404 «Файл или каталог не найдены».
Я удалил раздел авторизации в web.config. «Интегрированный» выбран для режима управляемого конвейера в пуле приложений conf. Http Redirection установлен
Вот образец моего Global.ascx
файла
routes.MapPageRoute(
"default", // Route name
"{tab}", // URL
"~/member/{tab}.aspx", // Physical ASPX file
false,
new RouteValueDictionary(new {tab = "Default"})
);
routes.MapRoute(
null,
"{controller}/{action}/{id}",
new {
action = "Index",
id = UrlParameter.Optional
}
);
ОБНОВЛЕНИЕ: прямой доступ к aspx-страницам, например mysite.com/member/Default.aspx
, работает без проблем.
Вот подробное сообщение об ошибке:
**HTTP Error 403.14 - Forbidden
The Web server is configured to not list the contents of this directory.**
Module DirectoryListingModule
Notification ExecuteRequestHandler
Handler StaticFile
Error Code 0x00000000
похоже, что запрос обработан не тем обработчиком.
Что я здесь пропустил? Заранее спасибо.