ASP.NET 페이지에서 여러 HTTP 요청을 실행하려고합니다. 페이지 자체는 응답을 알 필요가 없으므로 처리를 계속해야하며 & 페이지를 제공하지 않아도됩니다.ASP.NET 비동기 작업
BackgroundWorker에 HTTP 코드를 넣고 비동기 적으로 실행하려고했지만 처음에는 다음과 같은 오류가 발생했습니다.
비동기 작업은이 컨텍스트에서 허용되지 않습니다. 페이지 시작 비동기 작업을 수행하려면 Async 특성을 true로 설정하고 및 비동기 작업은 PreRenderComplete 이벤트 이전의 페이지에서만 시작할 수 있습니다.
그래서 제가 말씀 드렸듯이 페이지에 비동기 속성을 부여했습니다. 그런 다음 몇 가지 조사를 수행하고 BackgroundWorker가 실제로 예상대로 비동기 작업을 수행하지 않는다는 것을 발견했습니다. 어떤 배경 독서 (http://www.pluralsight-training.net/community/blogs/mike/archive/2005/11/04/16213.aspx)는 저에게 그것을 알렸다;
사전 렌더링 및 PreRenderComplete 이벤트는 등록 된 비동기 모든 작업에 대한 시간 제한 이벤트 핸들러가 이 호출되고 반환 된 의 모든 때까지 재개하지 [마십시오].
어떻게하면 BackgroundWorker가 페이지 처리를 일시 중단하지 않도록 할 수 있습니까?
감사합니다. QueueUserWorkItem()이 내가 찾고있는 것입니다. 내가 한 스레딩은 GUI 작업이므로 BackgroundWorker를 사용하는 데 익숙했습니다. 나는 또한 모든 것을 깔끔하게 만들기에 좋은 작은 기사를 발견했다. (익명 유형 사용하기.) (http://thevalerios.net/matt/2008/05/use-threadpoolqueueuserworkitem-with-anonymous-types/) –