C# WebService返回引數為DataTable報錯“XML文件有錯誤”

log9527發表於2024-10-08

該問題由於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的專案引用該型別的庫(不引用目前不知道怎麼開放限制)

相關文章