WCF не может прочитать данные из транспортного соединения - PullRequest
5 голосов
/ 09 июня 2011

У меня проблемы с приложением WCF.Когда я запускаю клиентское приложение и оно пытается подключиться к серверу, я получаю следующее исключение:

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

когда я отлаживаюсь из системы, где размещена служба, приложение работает нормально.Когда я пытался отладить его с другого компьютера, я получаю эту ошибку.с этого другого компьютера я могу открыть файл WSDL (серверного приложения) в браузере, чтобы найти сервер.

1 Ответ

0 голосов
/ 06 февраля 2012

Я согласен с user1039947 - абсолютно включить сквозную трассировку, потому что это сообщение об ошибке заканчивается примерно восемь тысяч различных проблем, ни одна из которых не имеет никакого отношения (по крайней мере, на поверхности) к закрытому соединению.

При этом, как только вы просматриваете трассировку или если по какой-то причине вы не можете включить трассировку (но это ваша услуга, так что я полагаю, вы можете), виновниками, которых я вижу чаще всего, являются:

  1. Несоответствие привязки
  2. Использование интерфейса или абстрактного типа в вашем контракте данных
  3. Не использование атрибутов данных в ваших свойствах и классах, когда они наследуются от интерфейса или абстрактногокласс.

По крайней мере, вы знаете, что вы попали на сервер.Если вы не можете получить журналы трассировки, и ни один из них не является проблемой, вы также всегда можете открыть два экземпляра Visual Studio, запустить новый сеанс отладки хоста службы в одном, а затем подключиться к нему из сеанса отладкиклиент в другом.Затем вы можете отследить, где при обработке генерируется исключение.Очень часто это происходит в сериализации данных (т. Е. № 2 и № 3).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...