Стандартные веб-сервисы (asmx) работают с MVC?

Я только что попытался добавить WebService (asmx базирующийся) от проекта WebForms до нового проекта MVC. Я, может казаться, не добираюсь до asmx веб-сервиса в IE?

В MVC это должно работать то же, у меня есть сервис в папке Services, это должно быть в Представлении, или этот asmx должен работать вне маршрутизации 'MVC'?

Обновление:

Я создал WebService, первоначально заглядывающий .asmx файлу на тестовый сервер, недавно устанавливаю с.Net 4.0 для проекта VS2010 MVC 2. (Windows Server 2003 IIS 6)

Тот же Веб-сервис находится на разработке (VS 2010), машина видима? Какие-либо идеи о различии, возможно проблема установки?

6
задан Mark Redman 22 February 2010 в 18:14
поделиться

5 ответов

Отвечая на свой вопрос ..

Я вижу службы WCF при создании базовой службы (и не вижу asmx services)

Поскольку WCF в любом случае считается подходящим вариантом, я этим и занимаюсь.

Я не уговаривал заставить asmx работать.

1
ответ дан 17 December 2019 в 04:45
поделиться

По словам Скотта Хансельмана, запрос по умолчанию не обрабатывается механизмом маршрутизации ASP.NET MVC:

Почему ASP.NET MVC не захватывает запрос? По двум причинам. Во-первых, в RouteCollection есть опция RouteExistingFiles. По умолчанию он установлен в false, что заставляет ASP.NET MVC автоматически пропускать маршрутизацию, если файл существует на диске. (Source)

Что указывает на то, что проблема где-то еще.

2
ответ дан 17 December 2019 в 04:45
поделиться

Если вам нужно быстрое/простое/грязное решение, вытащите ASMX Service из MVC Routing.

Если вы хотите сделать все лучшим способом, вытащите логику из службы ASMX и создайте для нее новую страницу в приложении MVC. Затем вы можете реализовать логику в контроллере и позволить представлению обрабатывать возврат SOAP-сообщения (или вы можете использовать JSON, в зависимости от того, кто потребляет сервис).

1
ответ дан 17 December 2019 в 04:45
поделиться

Это должно работать вне MVC-маршрутизации. Достаточно создать папку с asmx-файлами. У меня есть папка 'webservices' внутри моего проекта, и она отлично работает! Не нужно настраивать маршрутизацию на игнорирование пути, файл действительно существует на сервере.

0
ответ дан 17 December 2019 в 04:45
поделиться

ДА, это так, я создал базовый проект, затем щелкнул правой кнопкой мыши имя проекта и добавил в него файл веб-службы с демонстрацией hello world. Если вы просматриваете этот файл в браузере, он работает нормально.

1
ответ дан 17 December 2019 в 04:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: