webservice返回datatable时报序列化错误

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mengyidan/article/details/6977240

    今天写了一个webservice,返回类型是DataTable ,可是运行的是缺报了这个错误:System.InvalidOperationException: 生成 XML 文档时出错。 ---> System.InvalidOperationException: 无法序列化 DataTable。未设置 DataTable 名称。
   在 System.Data.DataTable.WriteXmlSchema(XmlWriter writer, Boolean writeHierarchy)
   在 System.Data.DataTable.System.Xml.Serialization.IXmlSerializable.WriteXml(XmlWriter writer)
   在 System.Xml.Serialization.XmlSerializationWriter.WriteSerializable(IXmlSerializable serializable, String name, String ns, Boolean isNullable, Boolean wrapped)
   在 Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1.Write2_DataTable(Object o)
   在 Microsoft.Xml.Serialization.GeneratedAssembly.DataTableSerializer.Serialize(Object objectToSerialize, XmlSerializationWriter writer)
   在 System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter, Object o, XmlSerializerNamespaces namespaces, String encodingStyle, String id)
   --- 内部异常堆栈跟踪的结尾 ---
   在 System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter, Object o, XmlSerializerNamespaces namespaces, String encodingStyle, String id)
   在 System.Xml.Serialization.XmlSerializer.Serialize(TextWriter textWriter, Object o, XmlSerializerNamespaces namespaces)
   在 System.Xml.Serialization.XmlSerializer.Serialize(TextWriter textWriter, Object o)
   在 System.Web.Services.Protocols.XmlReturnWriter.Write(HttpResponse response, Stream outputStream, Object returnValue)
   在 System.Web.Services.Protocols.HttpServerProtocol.WriteReturns(Object[] returnValues, Stream outputStream)
   在 System.Web.Services.Protocols.WebServiceHandler.WriteReturns(Object[] returnValues)
   在 System.Web.Services.Protocols.WebServiceHandler.Invoke()

 

看到 “未设置 DataTable 名称”这几个字,然后就给自己定义的那个table命名一下。代码:

        DataTable dt_types = new DataTable();
           dt_types .TableName = "videoalarmtype";

就这样问题就解决啦!

   记下来,希望下次不要再出错!O(∩_∩)O~

webservice 返回datatable无法序列化 DataTable。未设置 DataTable 名称。

11-07

在做返回datatable时出现无法序列化 DataTable。未设置 DataTable 名称。rn rn代码如下:rn Hashtable ht = new Hashtable();rn ht.Add("departure", departure);rn ht.Add("arrive", arrive);rn ht.Add("departuretime", departuretime);rn ht.Add("flytype", flytype);rn Class.ClassFlyfind flightfind = new Service.Class.ClassFlyfind();rn DataTable tmpdta = new DataTable();rn tmpdta.TableName = "tmp";rn tmpdta = flightfind.flightfind(ht);rn return tmpdta;rnrnClassrn Hashtable ht = new Hashtable();rn ht.Add("departure", departure);rn ht.Add("arrive", arrive);rn ht.Add("departuretime", departuretime);rn ht.Add("flytype", flytype);rn Class.ClassFlyfind flightfind = new Service.Class.ClassFlyfind();rn DataTable tmpdta = new DataTable();rn tmpdta.TableName = "tmp";rn tmpdta = flightfind.flightfind(ht);rn return tmpdta;rnrnrnrn报错如下rnrnSystem.InvalidOperationException: 生成 XML 文档时出错。 ---> System.InvalidOperationException: 无法序列化 DataTable。未设置 DataTable 名称。rn 在 System.Data.DataTable.WriteXmlSchema(XmlWriter writer, Boolean writeHierarchy)rn 在 System.Data.DataTable.System.Xml.Serialization.IXmlSerializable.WriteXml(XmlWriter writer)rn 在 System.Xml.Serialization.XmlSerializationWriter.WriteSerializable(IXmlSerializable serializable, String name, String ns, Boolean isNullable, Boolean wrapped)rn 在 Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1.Write4_DataTable(Object o)rn 在 Microsoft.Xml.Serialization.GeneratedAssembly.DataTableSerializer.Serialize(Object objectToSerialize, XmlSerializationWriter writer)rn 在 System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter, Object o, XmlSerializerNamespaces namespaces, String encodingStyle, String id)rn --- 内部异常堆栈跟踪的结尾 ---rn 在 System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter, Object o, XmlSerializerNamespaces namespaces, String encodingStyle, String id)rn 在 System.Xml.Serialization.XmlSerializer.Serialize(TextWriter textWriter, Object o, XmlSerializerNamespaces namespaces)rn 在 System.Xml.Serialization.XmlSerializer.Serialize(TextWriter textWriter, Object o)rn 在 System.Web.Services.Protocols.XmlReturnWriter.Write(HttpResponse response, Stream outputStream, Object returnValue)rn 在 System.Web.Services.Protocols.HttpServerProtocol.WriteReturns(Object[] returnValues, Stream outputStream)rn 在 System.Web.Services.Protocols.WebServiceHandler.WriteReturns(Object[] returnValues)rn 在 System.Web.Services.Protocols.WebServiceHandler.Invoke()rnrnrn[img=http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/36.gif][/img]不胜感激

没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试