WCF 传输 DataTable 失败
前些天遇见一个WCF通讯的问题,问题是这样的:
WCF定义契约的接口中包含一个返回DataTable的方法,接口中其它方法均可以正常通讯,只有这个方法总是通讯失败,调试时发现,服务器端可以正常运行,只是当服务器端运行完毕时,客户端报错,通讯失败。
解决方法:
WCF数据通讯的过程包括:服务器端将数据序列化,客户端将数据发序列化,当DataTable的TableName为空字符串的时候,序列化失败,所以出现了上述的情况,只需要为要返回的DataTable的TableName赋值一个非空字符串的值即可。比如:
1 return new DataTable();
改为
1 return new DataTable("MyTable");
当然,这只是我遇见的问题的解决方法,也有可能是传输数据过大,超出了设置的最大值等。
更加详细的解决方法这里:
http://stackoverflow.com/questions/12702/net-returning-datatables-in-wcf