Я создал веб-службу (приложение веб-службы ASP.NET, платформа .NET Framework 3.5), которая обращается к базе данных, извлекает данные и возвращает их клиенту как DataTable тип.
Когда я вызываю этот веб-сервис из клиентского приложения, я получаю сообщение об ошибке "Ошибка в XML-документе (1, 36276)" с внутренним исключением "Неожиданный конец файла при Произошло разбор имени. Строка 1, позиция 36276. "
Я попытался уменьшить объем данных, возвращаемых запросом (SELECT TOP 1) - ошибка исчезла. Но мне нужны все мои данные :) (118 строк с 30 столбцами)
Я полагаю, что проблема в том, что строка ответа веб-службы не соответствует буферу сериализации по умолчанию (вероятно, 4 КБ), и, следовательно, существует «Неожиданный конец файла».
Как я могу увеличить длину (или, возможно, тип) буфера сериализации веб-службы?
Код веб-службы:
[WebMethod]
public DataTable GetTargetAchievement()
{
var dt = new DataTable("TableName");
using (var conn = new SqlConnection(GetConnectionString()))
{
using (var da = new SqlDataAdapter("select * from [Table] ORDER BY 1,3,2; ", conn))
{
da.Fill(dt);
}
}
return dt;
}
Код клиента (WPF):
private void btnCallService_Click(object sender, RoutedEventArgs e)
{
TAA.AuditService service = new TAA.AuditService();
var dt = service.GetTargetAchievement();
lbxList.ItemsSource = dt.DefaultView;
}