Прокси-класс меняет порядок параметров, выставляя param первым - PullRequest
4 голосов
/ 04 августа 2011

У меня есть служба WCF, которая предоставляет метод со следующей подписью

bool MyMethod(string MyParam1, string MyParam2, out string MyParam3)

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

bool MyMethod(out string MyParam3, string MyParam1, string MyParam2)

В качестве первых параметров указывается параметр. Любая идея, почему это происходит или может быть, что я делаю что-то не так?

1 Ответ

4 голосов
/ 05 августа 2011

В этом нет ничего плохого, прокси также сможет использовать службу - сообщение от клиента на сервер не содержит выходного параметра, поэтому ожидается порядок MyParam1 и MyParam2 ; в выходном сообщении (ответ от сервера) параметр out является единственным в теле (кроме возвращаемого значения).

Ссылка сначала выводит параметры out, потому что метаданные (WSDL) содержат параметры только для каждого сообщения (ввода / вывода), а не для самой операции, поэтому «добавить ссылку на службу» нужно «угадать», где будет находиться параметр - и наличие его в качестве первого параметра в операции является таким же хорошим предположением, как и любая другая позиция.

Обновление: это больше не происходит при использовании .Net 4.5 на стороне клиента. Порядок параметров сохраняется.

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