Silverlight에서 웹 사이트의 HTML을 다운로드하고 구문 분석하는 응용 프로그램을 개발하기 시작했습니다. Silverlight 4를 사용하면 높은 권한을 요청하기 만하면 쉽게 달성 할 수 있습니다. 그러나 Silverlight 3을 사용하면 웹 사이트의 HTML을 가져 오는 유일한 방법은 WebService 호출을 사용하는 것입니다. 내가 내 Silverlight 응용 프로그램에서뿐만 아니라 비동기입니다 전화를 만들하자마자, 나를 HTML을 검색 할 수있는 방법이 없다는 것을 깨달았다, 그러나WebService 내에서 WebClient 호출하기
public class Service1
{
[OperationContract]
public void GetHtml()
{
Uri targetUri = new Uri("http://www.google.com", UriKind.RelativeOrAbsolute);
WebClient webClient = new WebClient();
webClient.DownloadStringCompleted += this.WebClient_DownloadStringCompleted;
webClient.DownloadStringAsync(targetUri);
}
private void WebClient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
}
}
: 내 초기 아이디어는 다음을 수행 할 수 있었다 웹 사이트의 나는 다음과 같이 변경 이유입니다 :
public class Service1
{
[OperationContract]
public string GetHtml()
{
Uri targetUri = new Uri("http://www.google.com", UriKind.RelativeOrAbsolute);
WebClient webClient = new WebClient();
return webClient.DownloadString(targetUri);
}
}
나는이 스레드를 동결하기 때문에 마지막 방법은 미세하지 믿습니다. 그래서, 내 질문,
첫 번째 방법은 a.k.a. 비동기 호출에서 비동기 호출을 달성하기 위해 방법입니다 :). 어떤 도움이라도 대단히 감사하겠습니다.
최고 감사합니다, 키릴
나는이 문제를 이해하고 있는지 잘 모르겠다. 두 번째 버전의 코드는 서버의 스레드 만 고정시킵니다. SL -> 서비스 호출이 진행되는 동안 클라이언트 응용 프로그램은 "unfrozen"상태를 유지합니다. –
그게 내가 피하려고하는 것입니다 - 서버를 동결. DownloadStringAsync를 사용하여 WebClient 호출을 만들면 서버가 멈추지 않지만 DownloadStringCompleted 이벤트 처리기에서 반환 된 데이터를 가져 오는 방법은 무엇입니까? –
아, 죄송합니다. 나는 당신의 질문을 오해했습니다. –