我会试着清楚地解释一切。
调用webmethod
时[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
这是webmethod端的
上的DeviceUploadData对象public class DataObject
{
private List<DataObject> _data;
public List<DataObject> data
{
get { return _data; }
set { _data = value; }
}
}
这是webmethod端的DataObject
public class DataObject
{
#region class variables
double _calories;
public double Calories
{
get { return _calories; }
set { _calories = value; }
}
}
因此DataObject填充了数据,然后一旦传递,另一端就不再填充某些DataObject属性。我没有在此示例中包含其他属性。
答案 0 :(得分:1)
解决了!所有参数和方法必须在客户端和Web对象中完全相同。
我想在我的例子中很难看到,因为我已经将它们标记为相同。
希望这可以帮助那些人。