2009-03-16 3 views
3

VB6 응용 프로그램을 IIS에서 호출 할 COM 개체로 캡슐화해야합니다. VB6 응용 프로그램에서 사용하는 dll 중 하나는 스레드로부터 안전하지 않습니다.multithreading windows http 서버에서 스레드 안전하지 않은 dll 실행

내 COM 개체를 호출 할 때마다 동일한 DLL을 다른 인스턴스와 공유하지 않도록하려면 어떻게해야합니까?

나는 ActiveX exe가 다른 프로세스에서 각 인스턴스를 실행한다는 것을 읽었는데, 그 정도면 충분할까요?

답변

1

COM 및 아파트 스레딩 모델 link text을 읽어야합니다. 단일 스레드 아파트를 사용하게되므로 성능이 무서울 수 있으므로 모든 요청이 직렬화됩니다. 이 요청들 각각에 대해 별도의 프로세스를 만드는 것을 조사해야합니다.

+0

ActiveX EXE가하는 것과 정확히 같았습니다. 각 호출에 대해 새 프로세스를 작성하십시오. 이것은 틀린가? – cfischer

+0

저는 COM 개체를 DLL로만 처리했지만 MSDN을 간략하게 살펴보면 out-of-process ActiveX를 사용하여이 작업을 수행 할 수 있습니다. 구멍 어플리케이션을 이식하려는 대신 작은 테스트 어플리케이션을 작성해야합니다. – LanceSc

관련 문제