第一次翻译文档,如有问题敬请原谅并指教!
英文原文
This article was previously published under Q306134
问题在Visual Studio .Net集成开发环境中试图添加到这个XML Web Service的引用时,也会看到下面类似的错误信息:
System.Data.DataRelation cannot be serialized because it does not have a default public constructor. 在Visual Studio .Net集成开发环境中试图添加到这个XML Web Service的引用时,也会看到下面类似的错误信息:
Internal Server Error. Unable to request "http://localhost/Webservice1/Service1.asmx?WSDL". The server responded with error code "ProtocolError".
原因DataTable、 DataRow、 DataView以及 DataViewManager 等对象不能被序列化也不能被从一个XML XML Web service返回。要返回,至少必须是一个完整的 DataSet ,因此必须把要返回的数据复制到一个 DataSet中。
解决解决这个问题的方法是:返回一个 DataSet 以替代 DataTable。一个 DataSet 对象中可以包含一个或多个 DataTable对象。
状态本行为正在设计中。
说明:以下示例包含VB.NET、C#和J#。
本文档信息应用于:
- Microsoft Web Services (包括.NET Framework) 1.0
- Microsoft Web Services (包括.NET Framework 1.1)
- Microsoft Visual Basic .NET (2002)
- Microsoft Visual C# .NET (2002)
- Microsoft ASP.NET (包括.NET Framework) 1.0
- Microsoft Visual J# .NET (2002)
- Microsoft Visual J# .NET (2003)
- Microsoft Visual C# .NET (2003)
- Microsoft Visual Basic .NET (2003)
- Microsoft ASP.NET (包括.NET Framework 1.1)

|