Периодические проблемы связи между клиентом Silverlight и службой WCF - PullRequest
5 голосов
/ 26 июля 2011

У меня есть приложение Silverlight 4, которое связывается с сервером под управлением IIS 7.5, на котором размещено несколько моих собственных служб WCF.Приложение успешно работает в 99% случаев, но пользователи сообщают, что несколько раз в день приложение будет зависать или сообщения об ошибках будут генерироваться в различных точках приложения.

Я включил трассировку WCF и следующие ошибкипроисходит:

<Exception>
  <ExceptionType>System.ServiceModel.ProtocolException, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType>
  <Message>The number of bytes available is inconsistent with the HTTP Content-Length header.  There may have been a network error or the client may be sending invalid requests.        </Message>
  <StackTrace>
    at System.ServiceModel.Channels.HttpInput.ReadBufferedMessage(Stream inputStream)
    at System.ServiceModel.Channels.HttpInput.ParseIncomingMessage(Exception&amp; requestException)
    at System.ServiceModel.Channels.HttpChannelListener.HttpContextReceived(HttpRequestContext context, Action callback)
    at System.ServiceModel.Activation.HostedHttpTransportManager.HttpContextReceived(HostedHttpRequestAsyncResult result)
    at System.ServiceModel.Activation.HostedHttpRequestAsyncResult.HandleRequest()
    at System.ServiceModel.Activation.HostedHttpRequestAsyncResult.BeginRequest()
    at System.ServiceModel.Activation.HostedHttpRequestAsyncResult.OnBeginRequest(Object state)
    at System.Runtime.IOThreadScheduler.ScheduledOverlapped.IOCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped)
    at System.Runtime.Fx.IOCompletionThunk.UnhandledExceptionFrame(UInt32 error, UInt32 bytesRead, NativeOverlapped* nativeOverlapped)
    at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)
  </StackTrace>
</Exception>

Затем я запустил Fiddler на компьютере пользователя и обнаружил следующие ошибки:

HTTP/1.1 504 Fiddler - Receive Failure
Content-Type: text/html; charset=UTF-8
Connection: close
Timestamp: 18:24:21.941

ReadResponse() failed: The server did not return a response for this request.

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

Мои вопросы: 1. Могу ли я что-нибудь сделать дляотслеживать, что происходит более подробно или что-либо связанное с IIS или сервером, я могу настроить, чтобы избежать этой ошибки 2. В моем приложении Silverlight есть какой-то способ, которым я могу ждать определенное количество времени (например, 30 секунд), и если ответ не был полученотменить текущий запрос и повторить попытку

1 Ответ

0 голосов
/ 26 июля 2011
...