Web服务调用:解析时发生了意外的文件结束

时间:2012-01-31 16:25:53

标签: c# asp.net wpf web-services sql-server-2008

我创建了一个Web服务(ASP.NET Web服务应用程序,.NET framework 3.5),它访问数据库,检索数据并将其作为 DataTable 类型返回给客户端。

当我从客户端应用程序调用此Web服务时,我收到错误消息“XML文档中存在错误(1,36276)”,内部异常“意外的文件结束解析名称时已经发生了。第1行,第36276位。“

我试图减少查询返回的数据量(SELECT TOP 1) - 错误消失了。但我需要我所有的数据:)(118行,30列)

我想问题是Web服务响应字符串不适合默认的序列化缓冲区(可能是4kb),因此存在“意外的文件结束”。

如何增加Web服务序列化缓冲区的长度(或类型)?

网络服务代码:

[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;
}

0 个答案:

没有答案