C#을 사용하여 1000 개의 원격 웹 페이지 (HttpWebRequest 사용)를 동시에 다운로드하고, 개별 로컬 파일에 기록하고 모든 파일을 다운로드 한 후 일부 처리 코드를 실행하는 가장 빠르고 안정적인 방법을 찾고 있습니다. 병렬 처리 및 비 차단 동시성을 최대한으로 활용할 수 있습니다.C#에서 동시 다운로드/처리
서버는 Windows 2008 및 .NET 4.0을 실행하는 쿼드 코어 (vCPU) VPS입니다 (최신 비동기/대기 프로그램을 사용할 수 없음).
무엇을 제안합니까?
업데이트 : 제안 된 옵션은 Reactive Extensions (Rx), Async CTP, TPL입니다.
비동기 CTP가 Rx 및 TPL 다음에 가장 적합한 방법이라고 생각됩니다. 뭐라구?
WebClient가 작동합니다. –
해당 페이지는 모두 단일 웹 사이트 또는 1000 개의 다른 사이트에서 제공됩니까? – svick
@Ramhound WebClient가 기본적으로 멀티 스레딩을 지원한다고 생각하지 않습니다. – Nick