2009-05-10 5 views
8

BeginInvoke() 또는 ThreadPool.QueueUserWorkItem (...)을 호출하여 병렬로 일부 메서드를 실행하면 .NET Framework가 코드 액세스 보안 정보와 다른 몇 가지를 포함하는 ExecutionContext 개체를 캡처한다는 것을 알고 있습니다. 소지품.ExecutionContext에 자신의 데이터를 포함하는 방법

내가 원하는 것은 내 병렬 방법에 필요한 일부 데이터를 ExecutionContext에 포함시키는 것이지만 작업을 대기하는 순간에도 캡처해야합니다.

문제는이 병렬 작업을 생성하는 코드를 항상 제어 할 수있는 것은 아니므로이 외부 코드를 호출하기 전에이 데이터를 저장하는 방법을 찾아야합니다. 그래서 나는 ExecutionContext 클래스에 대해 생각했다.

항상 스레드간에 작업을 분할하는 코드를 제어하지 않을 때 병렬 작업을 일부 상태로 전달할 수있는 방법이 있습니까?

+0

당신이 큐잉 코드를 제어하지 않는 것은 불행한 일입니다 - 캡처 변수 또는 클래스 필드가 이상적입니다. –

답변

0

나는 ExecutionContext과 어떤 관련이 있는지 알 수 없지만 그 날에는 문맥 바인딩 개체를 만들 수있었습니다. Context class을 참조하십시오. 이 특정 클래스가 인프라를위한 것이라는 사실을 무시하십시오.이 기사는 컨텍스트에 대해 배우기위한 출발점입니다.

관련 문제