none
ПОМОГИТЕ! ошибка в Silverlight: DomainService return an error: Not Found RRS feed

  • Вопрос

  • Суть проблемы:


    Есть набор WCF DomainService-ов и Silverlight-клиент.
    Все вроде бы работает нормально, но периодически при обращении к сервисам возникают ошибки такого содержания:
    The remote server returned an error: NotFound.


    Без какой либо детализации.


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


    В результате была выявлена ошибка, которая отображается в Silverlight как "an error: NotFound", вот она:
    System.ServiceModel.ProtocolException, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089


    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.


    System.ServiceModel.Channels.HttpInput.ReadBufferedMessage(Stream inputStream)
    System.ServiceModel.Channels.HttpInput.ParseIncomingMessage(Exception& requestException)
    System.ServiceModel.Channels.HttpRequestContext.CreateMessage()
    System.ServiceModel.Channels.HttpChannelListener.HttpContextReceived(HttpRequestContext context, Action callback)
    System.ServiceModel.Activation.HostedHttpTransportManager.HttpContextReceived(HostedHttpRequestAsyncResult result)
    System.ServiceModel.Activation.HostedHttpRequestAsyncResult.HandleRequest()
    System.ServiceModel.Activation.HostedHttpRequestAsyncResult.BeginRequest()
    System.ServiceModel.Activation.HostedHttpRequestAsyncResult.OnBeginRequest(Object state)
    System.ServiceModel.AspNetPartialTrustHelpers.PartialTrustInvoke(ContextCallback callback, Object state)
    System.ServiceModel.Activation.HostedHttpRequestAsyncResult.OnBeginRequestWithFlow(Object state)
    System.Runtime.IOThreadScheduler.ScheduledOverlapped.IOCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped)
    System.Runtime.Fx.IOCompletionThunk.UnhandledExceptionFrame(UInt32 error, UInt32 bytesRead, NativeOverlapped* nativeOverlapped)
    System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)


    Естественно после этого, было прочитаны множество страниц различных форумов, по поводу этой ошибки.
    Но однозначного решения не найдено, во многих местах рекомендуют настроить endpoint-ы для сервисов таким образом:
    <bindings>
    <customBinding>
    <binding name="BinaryHttpBinding">
    <binaryMessageEncoding />
    <httpTransport />
    </binding>
    </customBinding>
    </bindings>


    Но для DomainService-ов это нереально.


    Поскольку, для того, чтобы переопределить конфигурацию привязки конечной точки (endpoint) нужно описать сам endpoint,
    но там есть обязательный атрибут contract, а поскольку у меня сервисы являются DomainService-ами, то какой туда писать контракт мне узнать не удалось.

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

    23 февраля 2012 г. 10:17

Все ответы

  • Хм.. возможно мое предложение будет немного странным, но все же - в консоли напишите ping yourdomain.com -t и тестируйте при этом приложение

    Возможно тупо сеть падает :)

    24 февраля 2012 г. 7:50
  • Данная проблема возникает даже на localhost, поэтому исключено.

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

    24 февраля 2012 г. 8:14
  • тогда удачи! :)
    24 февраля 2012 г. 8:17
  • Уважаемый пользователь!

    В вашей теме отсутствует активность в течение последних 5 дней. При отсутствии каких-либо действий в течение 2 последующих дней, тема будет переведена в разряд обсуждений. Вы можете возобновить дискуссию, просто оставив сообщение в данной теме


    Для связи [mail]

    1 марта 2012 г. 15:42
    Модератор
  • Неужели никто не может помочь?=(

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

    3 марта 2012 г. 14:48
  • У меня была похожая проблема, только с Ria WCF и уже на живом хостенге. Решение оказалось очень простым, там(на сервере) изначально стаяло два режима аутентификации, ананимный и вндовс-аутентификация, собственно в этом и была проблема нужно указать какой-то один режим.

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

    5 марта 2012 г. 12:07
  • Я как раз и использую Ria Services, как я отключу аутентификацию форм, если у меня как раз она и используется в приложении, если отключаю то пользователь вообще не может авторизоваться. Если же я отключу анонимный доступ к сайту с приложением сильверлайта, то доступ к сайту вообще будет перекрыт. Скажите, а возможно ли получить пример Web.config-а, в котором вы решили данную проблему?


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

    6 марта 2012 г. 5:11