Странное исключение WCF net.tcp - PullRequest
8 голосов
/ 03 сентября 2010

У меня есть клиент / служба WCF с транспортом net.tcp. Когда я включаю трассировку WCF на стороне клиента, я вижу следующие ошибки в трассировке (см. Скриншот из средства просмотра трассировки службы). Странно то, что WCF обрабатывает и исправляет эту ошибку, и мой клиент не получает никаких исключений и продолжает работать. Это исключение происходит часто, случайно, но не при каждом вызове веб-метода. Аутентификация клиента (windows XP) - это windows, служба идентифицируется с помощью SPN, службы самостоятельно размещаются в службе windows за NLB (windows server 2003). Может кто-нибудь объяснить мне, что здесь происходит.

Трассировка стека исключений из трассировки xml:

<ExceptionString>
System.ServiceModel.Security.MessageSecurityException: The server rejected the upgrade request. ---&gt; System.ServiceModel.ProtocolException: Error while reading message framing format at position 0 of stream (state: ReadingUpgradeRecord) ---&gt; System.IO.InvalidDataException: More data was expected, but EOF was reached.
   --- End of inner exception stack trace ---
   --- End of inner exception stack trace ---
</ExceptionString>

Screenshot

1 Ответ

0 голосов
/ 20 сентября 2010

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

catch (Exception ex)
{
    throw new CommunicationException(ex.Message, ex);
}

Таким образом, клиентский прокси-сервер не должен игнорировать исключение, и его состояние должно быть "Failed".

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