아래의 TPL 데이터 흐름 네트워크 구성표를 살펴보십시오. URL 목록, 여러로드 블록 및 Parse 블록이 있습니다. 로드 블록은 다른 프록시 서버와 함께 HTML 페이지를로드하고 모두 CPU 바인딩 작업이 발생하는 Parse 블록에 링크됩니다. 페이지 로딩 중에 예외가 발생하면 URL이 목록에 다시 추가됩니다.TPL 데이터 흐름을 선택하여 항목을 게시하십시오.
URL을로드 블록에 수작업으로 게시합니다 (그림에 표시). 내 질문 : 직접 만든 블록을 URL로 게시하려면로드 블록을 선택하는 데 도움이되는 블록 유형이 있습니까? 예를 들어 .InputCount < = 2로 첫로드 클럭에 URL을 게시합니다.
그리고 한 번 더. 데이터 흐름 실행 중에 프록시 서버를 사용할 수 없게 될 수 있습니다. 만약 URLBufferBlock을 URL List 대신에 배치한다면, LoadBlocks가이 BufferBlock에서 죽은 프록시와 동적으로 연결을 끊을 수있을 것입니다. 그렇다면 블록을 네트워크에서 동적으로 연결 해제 할 수있는 방법이 있습니까?
고마워, svick! 모두 잘 작동합니다. 나는 그주기를 디버깅하는 데 2 주일을 낭비했고, 지금은 몇 줄로 바꿨다. – AsValeO
이제 'LinkTo'가 'Disposed'인지 확인하는 방법을 알 수 없습니다. 개인 속성 인 것처럼 보입니다. 이런 식으로 남아있는 'TransformBlocks'이 없는지 확인해야합니다. – AsValeO
@ValeO 스스로 추적해야한다고 생각합니다. 예를 들어,'IDisposable's,'Dispose()'의 콜렉션을 가지고 콜렉션에서 동시에 제거하면됩니다. – svick