Ausführen eine nicht-Thread-sichere DLL in einem Multithreading-Fenster http-Server
-
19-08-2019 - |
Frage
Ich brauche eine VB6-Anwendung als COM-Objekt zu kapseln, die von IIS aufgerufen werden. Eine der DLLs durch die VB6 app verwendet wird, ist nicht Thread-sicher.
Wie kann ich sicherstellen, dass, wenn mein COM-Objekt aufgerufen wird es nicht die gleiche DLL mit anderen Instanzen von mir selbst nicht teilt?
Ich habe irgendwo gelesen, dass ActiveX-EXE-Dateien jede Instanz in einem anderen Prozess laufen, wäre das genug?
Lösung
Ihr geht zu lesen, auf COM und Apartment-Threading-Modelle benötigen, link text . Während das, was dein Werk möglich ist, Ihre Leistung schrecklich sein wird, weil Sie Single-Threaded-Wohnungen werden am Ende mit, so werden alle Anforderungen serialisiert werden. Sie sollten wirklich einen separaten Prozess für jede dieser Anfragen untersuchen zu schaffen.