类型'System.Threading.Tasks.Task`1 [FundingReportData []]'无法序列化

时间:2013-03-28 17:36:09

标签: wcf serialization datacontract

我在服务器上遇到以下错误(Windows 2008 Framework 4)。

类型'System.Threading.Tasks.Task 1 [FundingReportData []]'`无法序列化。请考虑使用DataContractAttribute属性对其进行标记,并使用DataMemberAttribute属性标记要序列化的所有成员。如果类型是集合,请考虑使用CollectionDataContractAttribute对其进行标记。有关其他受支持的类型,请参阅Microsoft .NET Framework文档。

观察结果:  *它适用于我的本地机器(Windows 7,安装了Framework 4.5)
 *我没有调用异步方法EX:UnderWritngReportData [] uwData = client.RetriveUnderwritingAuditReport(reportDate);
 * Net.TCP和basicHttpBindings都有同样的问题  *查看错误消息类型'System.Threading.Tasks.Task`1 [FundingReportData []]'    无法序列化。 我调用了三种不同的方法,它们有三种返回类型。但是这三种方法的错误信息相同
 *我猜错误完全是误导。我提到了datacontract和datamember属性    适当

资金报告错误: 类型'System.Threading.Tasks.Task`1 [FundingReportData []]'无法序列化 。请考虑使用DataContractAttribute属性对其进行标记,并使用DataMemberAttribute属性标记要序列化的所有成员。如果类型是集合,请考虑使用CollectionDataContractAttribute对其进行标记。有关其他受支持的类型,请参阅Microsoft .NET Framework文档。

Bording Report错误: 类型'System.Threading.Tasks.Task`1 [FundingReportData []]'无法序列化 。请考虑使用DataContractAttribute属性对其进行标记,并使用DataMemberAttribute属性标记要序列化的所有成员。如果类型是集合,请考虑使用CollectionDataContractAttribute对其进行标记。有关其他受支持的类型,请参阅Microsoft .NET Framework文档。

UW报告错误: 类型'System.Threading.Tasks.Task`1 [FundingReportData []]'无法序列化 。请考虑使用DataContractAttribute属性对其进行标记,并使用DataMemberAttribute属性标记要序列化的所有成员。如果类型是集合,请考虑使用CollectionDataContractAttribute对其进行标记。有关其他受支持的类型,请参阅Microsoft .NET Framework文档。

我的WCF合同:

public interface IReportService {
        [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IReportService/RetriveFundingReport", ReplyAction = "http://tempuri.org/IReportService/RetriveFundingReportResponse")]
        FundingReportData[] RetriveFundingReport(System.DateTime Reportdate);

        [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IReportService/RetriveFundingReport", ReplyAction = "http://tempuri.org/IReportService/RetriveFundingReportResponse")]
        System.Threading.Tasks.Task<FundingReportData[]> RetriveFundingReportAsync(System.DateTime Reportdate);

        [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IReportService/RetriveBordingReport", ReplyAction = "http://tempuri.org/IReportService/RetriveBordingReportResponse")]
        BordingReportData[] RetriveBordingReport(System.DateTime Reportdate);

        [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IReportService/RetriveBordingReport", ReplyAction = "http://tempuri.org/IReportService/RetriveBordingReportResponse")]
        System.Threading.Tasks.Task<BordingReportData[]> RetriveBordingReportAsync(System.DateTime Reportdate);

        [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IReportService/RetriveUnderwritingAuditReport", ReplyAction = "http://tempuri.org/IReportService/RetriveUnderwritingAuditReportResponse")]
        UnderWritngReportData[] RetriveUnderwritingAuditReport(System.DateTime Reportdate);

        [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IReportService/RetriveUnderwritingAuditReport", ReplyAction = "http://tempuri.org/IReportService/RetriveUnderwritingAuditReportResponse")]
        System.Threading.Tasks.Task<UnderWritngReportData[]> RetriveUnderwritingAuditReportAsync(System.DateTime Reportdate);
    }

知道这里出了什么问题吗?!

0 个答案:

没有答案