1

サーバー (Windows 2008 Framework 4) で次のエラーが発生します。

タイプ'System.Threading.Tasks.Task1[FundingReportData[]]'` はシリアル化できません。これを DataContractAttribute 属性でマークし、シリアル化するすべてのメンバーを DataMemberAttribute 属性でマークすることを検討してください。型がコレクションの場合は、CollectionDataContractAttribute でマークすることを検討してください。サポートされているその他の型については、Microsoft .NET Framework のドキュメントを参照してください。

いくつかの観察結果: * 私のローカル マシン (Windows 7、Framework 4.5 がインストールされている) では
問題なく動作します。 * 非同期メソッドを呼び出しませんでした。
* Net.TCP と basicHttpBindings の両方で同じ問題が発生
* エラー メッセージ Type 'System.Threading.Tasks.Task`1[FundingReportData[]]' cannot be serialized. を確認してください。 3 つの戻り値の型を持つ 3 つの異なるメソッドを呼び出しました。しかし、エラー メッセージは 3 つの方法すべてで同じです
* エラーは完全に誤解を招くものだと思います。datacontract および datamember 属性について適切に言及しました

資金調達レポート エラー:タイプ 'System.Threading.Tasks.Task`1[FundingReportData[]]' をシリアル化できません。これを DataContractAttribute 属性でマークし、シリアル化するすべてのメンバーを DataMemberAttribute 属性でマークすることを検討してください。型がコレクションの場合は、CollectionDataContractAttribute でマークすることを検討してください。サポートされているその他の型については、Microsoft .NET Framework のドキュメントを参照してください。

Bording Report エラー: Type 'System.Threading.Tasks.Task`1[FundingReportData[]]' cannot be serialized . これを 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);
    }

ここで何がうまくいかなかったのですか?

4

0 に答える 0