Визуальный веб-разработчик Веб-сервис по отладке HTTP/1.1 400 Bad Request

У меня есть приложение веб-службы.net C# mvc3, разработанное для визуальных веб-разработчиков 2010. Я звоню в веб-службы из мобильного приложения для Android. Я хочу протестировать веб-сервисы из эмулятора eclipse. Когда я отлаживаю приложение веб-сервиса, все работает нормально, вызывая сервисы из веб-браузера, но когда я звоню, то из приложения Android с помощью эмулятора вы получаете "HTTP/1.1 400 Bad Request".

Любопытно, что если я опубликую приложение веб-службы на моем локальном IIS 7, все будет нормально, хотя я не смогу отладить службу.

когда я отлаживаю сервис с помощью разработчика визуальных веб-страниц, появляется веб-страница с таким адресом:

"HTTP:// локальный:1627/myservice.asmx/ MyMethod"

В моем приложении для Android я вызываю сервис с таким URL:

"Http://10.0.2.2:1627/myservice.asmx/myMethod"

но потом я получаю "HTTP / 1.1 400 Bad Request"

Я действительно был бы признателен за любую помощь.

Благодарю.

2 ответа

Решение

Согласно Не удается подключиться к серверу разработки ASP.NET (VS2010) через IP-адрес.

Сервер разработки ASP.NET будет обслуживать страницы для запросов браузера на локальном компьютере. Он не будет обслуживать страницы на другом компьютере. Кроме того, он не будет обслуживать файлы, находящиеся за пределами области приложения. Сервер разработки ASP.NET предоставляет эффективный способ локального тестирования страниц перед их публикацией на производственном сервере с IIS.

Для Visual Studio 2010 я всегда использовал inetd, который является инструментом переадресации портов. Начиная с Visual Studio 2012 у меня также есть эта проблема. Проблема в том, что на сервере разработки разрешены только локальные вызовы, даже прокси-вызовы не будут работать, если вы не измените заголовки запроса. Я внес некоторые изменения в существующий простой прокси-сервер, который я нашел на GitHub. Он изменяет IP-адрес в URL-адресе запроса на "localhost". Загрузите код здесь.


Я нашел лучшее решение. Когда на вашем компьютере установлен IIS Express, создайте в IIS новое приложение каталога вашего проекта и присвойте ему псевдоним. Обратите внимание, что правильный пул приложений установлен, и вы сможете просматривать свой сайт через http://localhost/YourProject/ Когда вы не можете подключиться с других компьютеров, это проблема брандмауэра.

Другие вопросы по тегам