微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

webservice返回datatable时报序列化错误

    今天写了一个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,String id)
   在 System.Xml.Serialization.XmlSerializer.Serialize(TextWriter textWriter,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~

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐