웹 역할로 실행중인 Azure에 WCF 서비스가 배포되었습니다. Azure는 주식 표준입니다 (.NET 4.0을 실행합니다). 나는 다음과 같은 오류가 점점 오전 :비동기 작업이 포함 된 Azure (.NET 4)에 WCF 서비스가 배포되었습니다. <T> 인터페이스
Type 'System.Threading.Tasks.Task' cannot be serialized. Consider marking it with the DataContractAttribute attribute, and marking all of its members you want serialized with the DataMemberAttribute attribute. If the type is a collection, consider marking it with the CollectionDataContractAttribute. See the Microsoft .NET Framework documentation for other supported types.
- 내 클래스 라이브러리 목표는 4
- 내가 뭔가 에뮬레이터를 통해 내 로컬 컴퓨터에서 실행 팩
을 대상으로 비동기에 대한 참조를 .NET. 내 로컬 컴퓨터는 .NET 4.5가 설치된 Windows 8입니다.
는이 유사 할 것으로 보인다 : http://forums.lhotka.net/forums/t/11585.aspx
이 가능, 또는 나는 푸른에 .NET 4.5을 얻을 필요합니까?
hrmm WCF 서비스에서 작업을 반환하는 것은 .NET 4.5에서 확실히 지원됩니다. // 비동기 : [OperationContract (Action = "AppSvcsPing")] 작업 AppSvcsPingAsync(); 동기 선언 : [OperationContract를 (조치 = "AppSvcsPing")] [FaultContract (대해서 typeof (ServiceFault))] 공극 AppSvcsPing(); – KierenH
사실 당신 말이 맞습니다. 이것은 .NET 4.5의 새로운 비동기 동작입니다. .NET 4.0에서는 지원되지 않습니다. .NET 4.0은 이전 IAsyncResult 기반 서비스 구현을 지원합니다. Azure에서 4.5로 업그레이드하면 즉시 문제가 해결됩니다. – merlinbeard
물론 - 그것이 꼭 필요한지 궁금합니다. 비동기 타겟팅 팩을 사용하면 .NET 4에서이 동일한 접근법을 구현할 수 있습니다. .NET 4에서 내 로컬 컴퓨터에서 실행되므로 Azure에서도 .NET 4에서도 작동하지 않는 이유를 이해하려고 시도합니다. 4. – KierenH