Каковы эти дополнительные параметры в моих Методах Прокси ASMX?

Если я добавляю веб-ссылку от.NET 1,1 клиента к сервису WCF, методы прокси, сгенерированные в клиенте, содержат дополнительный параметр, заканчивающийся суффиксом, 'Указанным' для каждого сервисного параметра метода, например.

[OperationContract]
string HelloWorld(string foo, int bar);

результаты в:

Service1.HelloWorld(string foo, bool fooSpecified, int bar, bool barSpecified);

Мои сервисные параметры не являются дополнительными поэтому, каковы эти дополнительные параметры в клиенте, и как я могу избавиться от них?

8
задан John Saunders 19 February 2010 в 02:45
поделиться

4 ответа

Это связано с различием в механизмах сериализации, используемых в веб-службах WCF и ASMX. { {1}} Чтобы избежать лишних параметров, необходимо указать атрибут XmlSerializerFormat в ServiceContract.

для добавления прочтите это: http://msmvps.com/blogs/windsor/archive/2008/05/17/calling-wcf-services-from-net-1-1. aspx

6
ответ дан 5 December 2019 в 20:16
поделиться

Вероятно, вам нужно указать, что ваши параметры являются обязательными

[OperationContract] 
string HelloWorld([RequiredDataParameter] string foo,
                  [RequiredDataParameter] int bar);
-1
ответ дан 5 December 2019 в 20:16
поделиться

Проблема заключается в параметрах типа значения, когда им разрешено отсутствовать. .NET 1.1 не может указать это без параметров *, указанных . Им необходимо установить значение true, чтобы указать, что отправляется соответствующий параметр.

2
ответ дан 5 December 2019 в 20:16
поделиться

.NET 1.1 Веб-службы не имеют понятия null, поэтому WCF генерирует эти дополнительные свойства для вас. fooSpecified = false означает, что foo действительно null.

1
ответ дан 5 December 2019 в 20:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: