服务器上的接口和函数都是没有问题的,客户端可以从服务器上的其它函数里得到返回值,如整型的,字符型的都可以
现在客户端要从服务器上得到一个返回的datatable,服务端没错,但客户端报错了,错误提示如下:接收对 http://localhost:8000/ 的 HTTP 响应时发生错误。这可能是由于服务终结点绑定未使用 HTTP 协议造成的。这还可能是由于服务器中止了 HTTP 请求上下文(可能由于服务关闭)所致。有关详细信息,请参阅服务器日志。
现在客户端要从服务器上得到一个返回的datatable,服务端没错,但客户端报错了,错误提示如下:接收对 http://localhost:8000/ 的 HTTP 响应时发生错误。这可能是由于服务终结点绑定未使用 HTTP 协议造成的。这还可能是由于服务器中止了 HTTP 请求上下文(可能由于服务关闭)所致。有关详细信息,请参阅服务器日志。
DataTable必须设置名称。
例如:DataTable dt = new DataTable("Table1");
这里的“Table1”必须有,但是命名随意,这个缺少就会序列化报错,而且错误原因会不明,显示不出来。
[ServiceKnownType(typeof(DBNull))]
[ServiceContract]
public interface IServer
{ }
在Web服务中用DataTable未设置名称就会报这个错误,解决方法:
DataTable dt=new DataTable();
dt.TableName = "MyTable";就OK了
当然也可不用Datatable而用DataSet
还是用对象数组把 就是实体类
对象数组的方式固然好用,但是其灵活性并不如DataTable,而且也会有遇到对象数据做不到而DataTable能做到的事。