내 환경 - C# 3.5 및 ASP.NET 4.0 및 VS 2010ASP.NET 스레딩 - 비동기 메서드를 수행 할 수 있습니까? 아니면 스레딩을 사용할 수 있습니까?
사과는 - 스레딩 및 비동기 방식과 관련된 몇 가지 개념에 조금 새로운입니다.
내 시나리오는 이것이다 :
-
주기적으로 외부 사이트에 GET/게시물의 몇 가지를 확인하고 일부 데이터를
- 이 데이터를 수집합니다 내 사이트가 중앙 캐시에 캐시됩니다
- 주기적 조치는 약 5 분 안에 한 번 발생하며 내 사이트에 등록한 모든 신입 회원에게 발생합니다. 특정 조건에 따라 회원에 대한 쿼리가 중단됩니다.
- 사용자는 정기적 인 쿼리를 위해 로그인 할 필요가 없습니다. 사이트에 등록한 다음 비동기 코드를 해제하면 계속 작동합니다. 특정 트리거 조건에 따라 전자 메일을 통해 사용자가 한 번씩 따라서 기본적으로 사용자가 명시 적으로 로그인했는지 여부에 관계없이 모두 백그라운드에서 발생해야합니다.
로드 예상 - 나는 (정지/떠나 새 멤버 + 오래된 것들에 대한 회계) 하루에 약 100 총 실행 위원을 기대하고 있습니다. 나는 100 개 스레드 하루를 실행하고있어 각 '스레드'깨어 -
방정식 × 12 페치/시간 8 시간/일
내 마음에는 X 패치 당 × 4 POST (100) 방문자/일입니다 ~ 5 분 안에 한 번 위로 몇 가지 물건을 않습니다. 스레드는 모든 스레드에서 공유되는 정적 중앙 캐시와 상호 작용합니다.
ThreadPools, AsyncPage 등에서 약간의 토론을 읽었습니다. 조금 새로운 영역입니다. 내 시나리오에서 당신은 무엇을 제안하겠습니까? 이렇게하는 것이 효율적인 방법은 무엇입니까?
답변을 사용하면 특정 클래스/방법/링크를 언급 해 주시면 감사하겠습니다. 무리 감사!
체크 아웃 : [비동기 호출 대 스레딩] (http://izlooite.blogspot.com/2011/05/aspnet-async-calls-vs-threading.html) –