我遇到了一个问题,我试图将非基元(和用户定义的)数据类型传递给WebMethod。有没有一种方法可以做到这一点?下面是我的代码示例:我可以将非原始数据类型传递给WebMethod吗?
[WebMethod]
public bool GetTableRecordCnt(int i, String str, DateTime? lastUpdatedDate, UserDefinedType udt, out FDT_SCHEDULER_STATUS[] schedulerTable)
{
//code
}
当我尝试从我的客户端应用程序调用这个函数,我得到以下错误:“无法读取从传输连接数据”
如果我将UserDefineType参数替换为原始数据类型(例如int),则客户端能够从WebMethod获得响应。
在此先感谢您的帮助。
编辑:
调用从客户端应用程序代码:
UserDefinedType udt = new UserDefinedType();
UserDefinedType1[] tableRecords = ThisApplication.FillArray();
bool result = WebServiceReferenceName.GetTableRecordCnt(1, "tableName", "10/10/2010 12:00:00", udt, out tableRecords);
这是正在传递到Web方法的参数的过于简单化,但毕竟是在每个参数的数据是什么会通过。
哪个平台是您的客户端应用程序使用? winforms或asp.net? – 2010-11-12 13:44:28
客户端应用程序使用Windows Mobile 5.0设备的winforms。 – AndHeCodedIt 2010-11-12 13:45:49
我们可以看到调用代码吗? – Schenz 2010-11-12 13:47:35