我正在尝试托管服务,其中有一个方法返回以下类型:
[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 contract:http://tempuri.org/:TesterTool ----> System.Runtime.Serialization.InvalidDataContractException:类型'System.Data.DataRow'无法序列化 . 请考虑使用DataContractAttribute属性对其进行标记,并使用DataMemberAttribute属性标记要序列化的所有成员 . 如果类型是集合,请考虑使用CollectionDataContractAttribute对其进行标记 . 有关其他受支持的类型,请参阅Microsoft .NET Framework文档 . `
有什么建议 .
1 回答
通过服务发送DataTable不是一个好习惯 .
正如govindaraj here所述: