Silverlight и WCF: ошибка не найдена! - PullRequest
3 голосов
/ 23 февраля 2010

У меня есть метод WCF так:

    public string GetSomething(MyObject obj)
    {
        return "Something";
    }

Когда я звоню из моего приложения silverlight, я получаю сообщение об ошибке:
System.Net.WebException: удаленный сервер возвратил ошибку: NotFound .....

Я вызываю метод из моего приложения Silverlight так:

        mProxy.GetSomethingAsync(new MyObject());

Теперь, когда я вызываю такой метод, он работает нормально:

        mProxy.GetSomethingAsync(null);

Так что, похоже, есть проблема с передачей сложного объекта.

Обратите внимание, что я возвращаю этот MyObject из другого метода, и он работает нормально, поэтому это не проблема с сериализацией. Я также изменил maxBufferSize и maxReceivedMessageSize на максимальное значение, так что это не так, и я все равно передаю пустой объект, так что это не должно быть проблемой размера. А MyObject содержит только простые типы данных.

У кого-нибудь есть предложения?

Ответы [ 2 ]

10 голосов
/ 23 февраля 2010

Эта ошибка "Not Found", пожалуй, самая раздражающая особенность доступа Silverlight WCF.

Возможно, вы захотите воспользоваться инструментом просмотра трассировки служб ( здесь ). Это не всегда полезно (я столкнулся с множеством проблем, с которыми он не смог справиться), но примерно в 10-20% случаев это укажет мне правильное направление.

Вы также можете попробовать добавить SilverlightFaultBehavior к вашим услугам. Это может превратить хотя бы некоторые из этих сообщений об ошибках «Not Found» в настоящие ошибки.

2 голосов
/ 24 февраля 2010

Я использовал WcfTestClient.exe для отладки моих служб WCF. Это дает гораздо более удобное сообщение об ошибке. Если вы хотите настроить Silverlight на получение ошибок WCF, я нашел эту страницу на Производительность данных и стратегии обработки ошибок в Silverlight 3 чтобы быть полезным.

(http://msdn.microsoft.com/en-us/magazine/ee294456.aspx)

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