Я создал веб-сервис через WCF. Затем я представил его как веб-сервис, чтобы сделать его пригодным для использования с приложением .NET 2.0. Я создал некоторый DataContract с DataMember, который мог бы использоваться для открытого OperationContract.
Я замечаю, что когда я пытаюсь создать DataClass для передачи в веб-сервис, каждый атрибут DataContract теперь имеет атрибут «Указано» для каждого члена.
Например:
[DataContract]
public class Sales
{
[DataMember]
public int InvoiceNo;
...
}
Когда я создаю экземпляр Sales в клиенте веб-службы. Я получаю атрибуты с именами InvoiceNo и InvoiceNoSpecified.
Теперь вот мой вопрос: когда атрибут имеет тип string, мне не нужно устанавливать для соответствующего атрибута «Specified» значение true, но когда типом атрибута является int или DateTime, если я не устанавливаю соответствующий Атрибут «Указано» равен true, значение становится нулевым в хосте веб-службы. Есть ли способ избежать установки указанного атрибута? Потому что мне нужно вызывать функции веб-службы во многих местах моего кода. Было бы действительно трудно отследить их всех.