Ошибка HTTP 404 при вызове локального веб-сервиса в .NET MVC4
Я пытаюсь изучить веб-службы в .NET mvc4. Я попытался создать новое интернет-приложение и добавить в проект веб-службу (asmx).
По умолчанию VS добавляет веб-сервис HelloWorld. Когда я пытаюсь запустить его в браузере, я получаю список операций, описание сервиса (WSDL) и подробности операции HellowWorld
. Однако, когда я пытаюсь вызвать веб-сервис, он дает следующую ошибку:
Ошибка сервера в приложении "/".
Ресурс не найден.
Описание: HTTP 404. Ресурс, который вы ищете (или один из его зависимостей) могли быть удалены, если бы их имя было изменено, или Временно недоступен. Просмотрите следующий URL-адрес и сделайте убедитесь, что оно написано правильно.
Возможно, мне не хватает базового шага/настройки. Может ли помочь какой-то орган. Спасибо.
Ответы
Ответ 1
Я получил ответ от одного из моих коллег:).
Когда мы вызываем службу, MVC пытается разрешить путь, как указано в RegisterRoutes.
Поэтому он пытается найти контроллер с этим именем и метод с таким же именем, как и с операцией внутри этого контроллера. Разрешение, игнорировать пути с расширением .asmx. Вы можете сделать это, добавив следующую строку в RouteConfig.cs:
routes.IgnoreRoute("{*x}", new { x = @".*\.asmx(/.*)?" });
и это сработало. Спасибо.