Что может заставить мой WCF выдавать странные исключения Socket? - PullRequest
2 голосов
/ 05 января 2010

Иногда это будет SocketException:

Stack trace:    at System.Net.Sockets.Socket.Send(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
   at System.ServiceModel.Channels.SocketConnection.Write(Byte[] buffer, Int32 offset, Int32 size, Boolean immediate, TimeSpan timeout)

И иногда выдает следующее сообщение CommunicationObjectAbortedException:

    Stack trace:    at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)

Поведение очень случайное. Это идет против статических вызовов, которые обычно работают.

Ответы [ 2 ]

1 голос
/ 05 января 2010

Какая ошибка?

Если это одна из ошибок WSA (100053 WSAECONNABORTED, 10054 WSAECONNRESET и друзья), это означает, что базовый стек IP закрыл сокет.Если асинхронный IO ожидает прерывания 995 ERROR_OPERATION_ABORTED, это означает, что поток, который отправил асинхронный запрос ввода-вывода, завершился и запрос был прерван ОС.

0 голосов
/ 06 января 2010

Класс, который реализует интерфейс с ServiceContract на нем, создается только один раз, а методы используются повторно. Это приводит к многопоточным исключениям, которые не передаются обратно клиенту и не регистрируются в журнале событий.

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