Silverlight에서 사용할 수 있도록 적절하게 복잡한 기존 .NET 코드를 리팩토링하려고합니다. 핵심 문제는 모든 Silverlight 웹 서비스 호출이 비동기 적이어야하고 기존 코드가 상당히 일반적인 동기식 방식으로 구현된다는 것입니다. (스택 백업 거품 응답)>.NET에서 중첩 된 비동기 "호출 스택"시나리오 구현
내 생각 -> GetPersonMethod - -> PersonBusinessObject -> PersonDataObject -> CallWebservice
페이지 : 일반적인 작업에 대한
기존의 호출 스택은 다음과 같이 수 있습니다 모든 메소드를 별도의 요청 및 응답 메소드로 분리하여 애플리케이션의 전체 구조를 보존하는 것입니다.
같은 작업에 대한 새로운 호출 스택은 다음과 같이 될 것이다 :
페이지 -> GetPersonRequest -> PersonBusinessRequest -> PersonDataRequest -> WebserviceRequest
페이지 < - GetPersonResponse < - PersonBusinessResponse < - PersonDataResponse < - WebserviceResponse
핵심 질문 :
이것은 끔찍한 생각입니까? 그리고 나는 그것을 단지 비동기 적 관점에서 다시 고쳐야 만할까요?
이 접근 방식을 사용하면 내 중첩 된 응답의 호출 스택을 어떻게 보존합니까?
TIA-
리팩토링을 방지하기 위해
이것은 코드의 멋진 덩어리입니다, 나는 그것을 플랫 시간에 테스트 애플 리케이션에서 일하고있어! 매우 도움이된다! 감사! 하지만 비동기식 웹 서비스 호출을 위해 "비동기식 비동기"제안 작업을 수행하는 방법에 대해 신경 쓰지는 않았습니다 ... 내 이해는 WaitOne()이 Silverlight에서 지원되지 않는다는 것입니다. – Scrappydog
http://msdn.microsoft.com/en-us/library/cc190477(VS.95).aspx WaitOne이 있음을 나타냅니다. – MichaelGG