サーバー (Windows 2008 Framework 4) で次のエラーが発生します。
タイプ'System.Threading.Tasks.Task
1[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);
}
ここで何がうまくいかなかったのですか?