Объект, переданный с помощью веб-метода, теряет некоторые значения, но не все - PullRequest
0 голосов
/ 22 июня 2011

Я попытаюсь объяснить все четко.

при вызове веб-метода

[WebMethod]
public Profile synchronize(string MID, DeviceUploadData data)

Объект DeviceUploadData имеет много свойств, и некоторые из них являются массивами.Мой вопрос о массиве конкретно.Он теряет свое значение после получения на конце веб-метода.

Это свойство внутри DeviceUploadData

Private data() As DataObject
Public Property Data() As DataObject()
    Get
        Return Me.data
    End Get
    Set(value As DataObject())
        Me.data = value
    End Set
End Property

Это объект DataObject внутри

 <System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.225"), _
         System.SerializableAttribute(), _
         System.Diagnostics.DebuggerStepThroughAttribute(), _
         System.ComponentModel.DesignerCategoryAttribute("code"), _
         System.Xml.Serialization.XmlTypeAttribute([Namespace]:="http://somethingsomething")> _
        Public Class DataObject
            Dim _calories As Double
            Public Property Calories() As Double
                Get
                    Return _calories
                End Get
                Set(value As Double)
                    _calories = value
                End Set
            End Property
End Class

Этообъект DeviceUploadData на стороне веб-метода

public class DataObject
    {
        private List<DataObject> _data;
        public List<DataObject> data
        {
            get { return _data; }
            set { _data = value; }
        }
}

Это DataObject на стороне веб-метода

public class DataObject
    {
        #region class variables
        double _calories;
        public double Calories
        {
            get { return _calories; }
            set { _calories = value; }
        }
}

Таким образом, DataObject заполняется данными, а затем передается на другом конце,некоторые свойства DataObject больше не заполняются.В этом примере я не включил другие свойства.

1 Ответ

1 голос
/ 22 июня 2011

Решено!Все параметры и методы должны иметь одинаковые имена в клиенте и веб-объекте.

Полагаю, это будет трудно увидеть в моем примере, поскольку я пометил их одинаково.

Надеюсьэто помогает некоторым людям там.

...