2012-04-05 3 views
0

많은 시간이 걸릴 수있는 서버 호출을 수행하는 경우 서버 계약에서 비동기 메소드를 사용하는 것이 좋습니다.WCF : 클라이언트에서 비동기 대 스레드에 대한 의문이있는 경우

이 경우 프록시를 만들려면 비동기 메서드를 만들고 싶다고 표시해야합니다.

그러나 클라이언트에 스레딩을 사용하여 서비스 호출을 사용하면이 보조 스레드가 클라이언트를 차단하지 않고 결과를 대기 할 수 있기 때문에 비동기 메서드를 사용할 필요가 없을 수도 있습니다. .NET 4.0을 사용하고 있으므로 작업을 사용할 수 있습니다.

이것은 맞습니까? 이것이 올바른 경우 가장 좋은 방법은 무엇이며 비동기 메서드를 사용하거나 클라이언트에서 thrading을 사용합니까?

감사합니다. Daimroc.

답변

1

비동기 API를 사용하는 것이 정말 간단하도록 C# 5에 언어 지원이있을 예정입니다. 비동기 API를 개인적으로 사용하는 것이 좋습니다. 클라이언트 코드는 스레드 간의 마샬링에 대해 걱정할 필요가 없습니다. UI가 올바른 스레드에서만 업데이트되고 스레드를 개별적으로 생성하는지 확인해야합니다. 서비스 결과를 "대기"할 수 있으며 "올바른 작업을 수행합니다" . 근본적인 기본 동시성 문제가 여전히 처리해야합니다 - -

이 지원 것도 마법 없습니다하지만 플랫폼은 훨씬 쉽게 볼 수 있도록 할, 당신을 위해 오류가 발생하기 쉬운 보일러의 알아서 처리합니다 내재 된 피할 수없는 복잡성.

관련 문제