У меня есть WCF WebService (.NET 4.0), который доступен через публичный IP-адрес. У меня работает проект C # MVC (.NET 4.7.2), который я размещаю в Azure. Я подключаюсь к этой службе WCF в качестве подключенной службы в моем проекте VS2017.
Когда я запускаю приложение MVC локально, оно работает нормально - я могу подключиться к службе и прочитать данные. Однако при публикации в Azure AppService появляется ошибка:
Конечная точка не прослушивала
http://12.3.456.78:8080/MyService.svc, который может принять
сообщение. Это часто вызвано неправильным адресом или действием SOAP.
Смотрите InnerException, если имеется, для более подробной информации.
InnerException:
System.Net.WebException: невозможно подключиться к удаленному серверу --->
System.Net.Sockets.SocketException: попытка подключения не удалась
потому что подключенная сторона не ответила должным образом после периода
время или не удалось установить соединение, так как подключенный хост имеет
не ответил 12.3.456.78:8080
Это не проблема брандмауэра - брандмауэр на сервере, на котором размещена служба WCF, не регистрирует никаких запросов. Похоже, Azure просто не выполнит запрос.
Мой код очень прост:
using (var service = new MyService.ServiceClient())
{
List<MyObject> res = service.GetMyStuff(); // This throws the error
}