【发布时间】:2014-03-19 09:10:07
【问题描述】:
我正在尝试托管一个服务,其中有一个返回以下类型的方法:
[DataContract]
[Obfuscation(ApplyToMembers = true, Exclude = true)]
[Serializable]
public class Output
{
[DataMember]
public DataSet dsOutput{get;set;}
}
方法签名如下:
[OperationContract]
[WebGet]
function Output matchData(DataSet pDSSide1,DataSet pDSSide2)
{
return new Output();
}
在浏览服务时遇到以下异常:
System.InvalidOperationException:调用 WSDL 导出扩展时引发异常:System.ServiceModel.Description.DataContractSerializerOperationBehavior 合约:http://tempuri.org/:TesterTool ---->
System.Runtime.Serialization.InvalidDataContractException:无法序列化类型“System.Data.DataRow”。考虑使用 DataContractAttribute 属性对其进行标记,并使用 DataMemberAttribute 属性标记您想要序列化的所有成员。如果该类型是一个集合,请考虑使用 CollectionDataContractAttribute 对其进行标记。有关其他支持的类型,请参阅 Microsoft .NET Framework 文档。 `
任何建议。
【问题讨论】:
-
是的,不返回DataSet,框架如何解析所有可能的DataSet?
标签: wcf serialization datacontractserializer datacontract