Передача объекта версии в Silverlight - PullRequest
0 голосов
/ 14 декабря 2009

Я создал базовый сервис Silverlight WCF из VS2008. Единственное, что я изменил из автоматически сгенерированной службы WCF, - это добавление метода:

 public int DoWork2(int x, Version version)
    {
        return x;
    }

Если я удаляю параметр Version, мой клиент Silverlight работает отлично, но если добавлен параметр Version, я получаю сообщение об ошибке:

The remote server returned an error: NotFound.

Понятия не имею почему. Есть указатели?

edit: Я должен отметить, что я обновляю свою ссылку на сервис каждый раз, когда меняю сигнатуру методов.

1 Ответ

2 голосов
/ 14 декабря 2009

Ну, если вы изменили параметры или имя метода, то это означает, что сигнатура метода изменилась, где-то там вы найдете интерфейс, который определяет сигнатуру метода, которая выглядит следующим образом

[OperationContract]    
int DoWork2(int x)

Перейдите в сигнатуру этого метода и измените ее на

[OperationContract]    
int DoWork2(int x, Version version)

Я подозреваю, что WCF сообщает, что не может найти метод, размещенный на данной конечной точке, с указанной вами сигнатурой метода

Edit: Не забудьте обновить ссылку на службу в Silverlight, как только вы внесете это изменение в WCF, чтобы Silverlight могла понимать новые операционные контракты

Также убедитесь, что silverlight может сериализовать объект Version, использовать протоколирование трассировки WCF Diagnostics и точно выяснить, что не так и на какой стороне (клиент или сервер) возникает проблема

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