C# WebService返回参数为DataTable报错“XML文档有错误”

时间:2024-10-09 17:59:01

该问题由于DataTable列存在自定义类型。

解决该报错需要以下几步:

1、自定义类型增加xml序列化

2、由于C#从 XML 反序列化 DataSet 或 DataTable 时的默认限制,所以需要先把调用方的项目开放限制,如果是.netframework项目,需要在app.config中添加

<configuration>
   <runtime>
      <!-- Warning: setting the following switch can introduce a security problem. -->
      <AppContextSwitchOverrides value="Switch.System.Data.AllowArbitraryDataSetTypeInstantiation=true" />
   </runtime>
</configuration>

具体参考:https://learn.microsoft.com/zh-cn/dotnet/framework/data/adonet/dataset-datatable-dataview/security-guidance

3、调用WebService的项目引用该类型的库(不引用目前不知道怎么开放限制)