제 WPF 응용 프로그램에 타사 라이브러리를 통합하려고합니다. 이 라이브러리는 개인의 사회 보장 번호로 신용 카드 기록을 수집하는 데 사용됩니다. 기본적으로 void를 반환하는 메서드를 제공합니다. 해당 방법이 완료되면 신용 카드 기록을 수집 할 수 있습니다.유스 케이스의 효율적인 디자인을위한 제안이 필요합니다.
이제이 인원수로이 API를 실행하고 싶지만 한 번에 최대 요청 수의 임계 값을 원합니다. 해당 임계 값에 도달하면 새 요청을 보내기 전에 해당 요청 중 하나가 완료되기를 기다리고 싶습니다. 마지막으로 제출 된 요청 중 하나가 성공 또는 실패 할 때 UI를 업데이트하고 싶습니다. 이 타사 API가 정보를 수집하기 위해 아주 가끔 기다리고 끝낼 수
: 여기
내 질문입니다. 이 상황에서Parallel.ForEach
또는AsParallel
과 같은 TPL/PLINQ API를 사용하고 있습니까?await/async
을 사용하여 Run 메서드가 무효를 반환하는 경우 제 3 자 라이브러리 호출에 대한 래퍼를 만들 수 있습니까?진행 상황에 대한 UI를 계속 업데이트 할 수 있도록 제출 된 개별 요청을 기다리는 것이 가장 좋은 방법입니다.
설계/구현 방법에 대한 제안 사항 (몇 가지 샘플 코드 포함)을 제공해주십시오. Tasks와 Async/Await에 대한 많은 책을 읽었지 만이 유스 케이스에 가장 적합한 패턴이 무엇인지 혼란스러워 했나요?
당신은 상한과 차단 모음을 사용할 수 있습니다 http://msdn.microsoft.com/en-us/library/dd267301(v=vs.110) .aspx – Paparazzi
감사의 말 귀하의 제안에 대한 밤. 이것은 생산자 - 소비자 패턴을 사용하는 것입니다, 맞습니까? 그렇다면, 나는 그것에 대해서도 읽었지만,이 서드 파티 라이브러리와 어떻게 통합 할 것인지 잘 모르겠다. 어떤 아이디어? –
개념을 이해하기 위해 주로 작은 코드 예제를 읽고/놀았습니다. 예를 들어 필자는 Parallel.ForEach가 I/O를 수행하는 모든 연산에 적합한 후보가 될 수없는 곳을 일부 읽었습니다. 이 제 3 자 API는 데이터 검색을 위해 일부 웹 서비스를 호출하기 때문에 어떤 접근 방식을 실제로 사용해야하는지 생각하고 싶었습니다. –