2010-03-18 5 views
5

나는 내가 서버에가는 여러 요청을 실버 라이트 응용 프로그램이 있습니다. 나는 이러한 모든 요청을 동기화 할 수 즉 큐 또는 멀티 태스킹 수단으로합니다. 가장 좋은 평균은 무엇입니까? Plz은 io가 그렇게 할 수있는 실버 라이트에서 몇 가지 예를 제공합니다.멀티 태스킹 및 멀티 스레드 실버에서

답변

0

비동기 CTP 프레임 워크를 살펴 보자 그것은/처리하는 다음 예제처럼, 비동기 요청을 동기화하는 쉬운 방법을 제공합니다 http://msdn.microsoft.com/en-us/vstudio/gg316360

을 :

public async void AsyncWebRequestGetResponse() 
{ 
    var response = await WebRequest.Create("http://www.weather.gov").GetResponseAsync(); 
    var stream = response.GetResponseStream(); 
    Console.WriteLine("First byte: {0}", stream.ReadByte().ToString("X2")); 
} 

또는

public async void AsyncForEach() 
{ 
    var uris = new List<Uri> { new Uri("http://www.weather.gov"), new Uri("http://www.weather.gov/climate/"), new Uri("http://www.weather.gov/rss/") }; 

    foreach (var uri in uris) 
    { 
     WriteLinePageTitle(await new WebClient().DownloadStringTaskAsync(uri)); 
    } 
} 

일반적인 방법은 AutoResetEvent와 같은 WaitHandles를 사용하여 요청을 동기화하는 것입니다.

0

Reactive Extensions는 유효한 옵션 일 수도 있습니다. 이것은 article으로 WCF 서비스에 대한 비동기 호출에이를 사용하는 것을 보여줍니다.

0

요점은 요청 순서를 제어 할 수 없으며 기본적으로 동일한 도메인에 대해 두 번의 요청 만 할 수 있다는 것입니다. 요청을 보내기 위해 클라이언트에 무언가를 만들어야한다는 것입니다 Silverlight는 오직 BasicHttpBinding만을 지원합니다. 당신이 주문한 메시지 속성을 가지고 있지 않다는 것을 의미합니다.

관련 문제