웹 페이지 인덱싱 프로그램을 작동시키는 데 문제가 있습니다. URL을 데이터베이스 서버에서 자동으로 다운로드하여 UDP를 통해 색인 된 페이지 정보가 포함 된 응답을 다시 보내는 양식이 있습니다. 들어오는 메시지와 나가는 메시지를 추적하는 UDP라는 정적 클래스가 있습니다. 메시지가 수신 될 때마다 발생하는 이벤트가 있습니다.이 이벤트는 URL 인덱싱 데이터베이스를 보유하고있는 서버의 프로그램에서 보낸 메시지를 추적하기 위해 모든 인덱싱 코드 훅을 포함합니다.이벤트 처리기가 작성된 스레드와 별도의 스레드에서 호출되도록하려면 어떻게해야합니까?
색인 생성 양식 앞에 나타나는 다른 양식을 추가 할 때까지이 모든 작업이 정상적으로 수행되었습니다. 이제 색인 작성 양식이 다른 스레드에서 열립니다 (Application.Run() 및 두 번째 스레드를 통해). 문제는 이벤트가 발생할 때 이벤트 핸들러가 더 이상 호출되지 않는다는 것입니다.
그래서 여기에 무슨 일이 일어나고 있으며 문제를 해결하려면 어떻게해야합니까? 나는 이벤트가 발생 된 것보다 다른 스레드에서 이벤트 핸들러를 호출하지 않는 일부 크로스 스레드 안전 메커니즘과 관련이 있다고 확신한다. 아무도이 일을하는 다른 방법이나 이것을 우회하는 방법을 알고 있습니까? 미리 감사드립니다 ...
일반적으로 DynamicInvoke를 사용할 필요는 없습니다. 단지 여기에서 호출하십시오.또한 * target *이 이렇게하는 것이 더 일반적입니다 ... –