Я пытаюсь добавить путь / _ vti_bin / Lists.asmx к моему ASP.NET MVC 2 веб-приложению.
Я регистрирую маршрут следующим образом:
routes.IgnoreRoute("{resource}.asmx/{*pathInfo}");
routes.Add(new Route("_vti_bin/Lists.asmx", new ListsHandler()));
где ListHandler определен как:
public sealed class ListsHandler : IRouteHandler
{
#region IRouteHandler Members
public IHttpHandler GetHttpHandler(RequestContext requestContext)
{
throw new NotImplementedException();
}
#endregion
}
Но когда я запускаю приложение MVC и пытаюсь перейти к http://localhost:8888/_vti_bin/Lists.asmx,, я получаю ошибку HTTP 404, а не возникшее исключение.
Возможно ли это даже в MVC? Нужно ли добавлять файл веб-службы Lists.asmx ASPX в мой проект в определенном месте (я не могу создать папку _vti_bin в проекте Visual Studio)?
Обновление: Ответ Дарина теперь позволяет http://localhost:8888/_vti_bin/Lists.asmx работать (единственное отличие - порядок определений маршрутов). Но теперь запрос страницы «О программе» на сайте проекта MVC 2 по умолчанию приводит к запросу http://localhost:8888/_vti_bin/Lists.asmx?action=About&controller=Home,, а не к домашнему контроллеру!
Очевидно, порядок, в котором определены маршруты, имеет значение.