У меня возникла проблема, когда я пытаюсь передать непримитивный (и определяемый пользователем) тип данных в 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);
Это грубое упрощение параметров, которые передаются веб-методу, но данные, содержащиеся в каждом параметре, — это то, что будет передано.