Exécution d'une dll non thread-safe sur un serveur Windows multithreading Windows
-
19-08-2019 - |
Question
Je dois encapsuler une application VB6 en tant qu'objet COM appelé par IIS. L'une des dll utilisées par l'application VB6 n'est pas thread-safe.
Comment puis-je m'assurer que chaque fois que mon objet COM est appelé, il ne partage pas la même dll avec d'autres instances de lui-même?
J'ai lu quelque part que les ex ActiveX exécutent chaque instance dans un processus différent, cela suffirait-il?
La solution
Vous allez avoir besoin de lire des informations sur les modèles de threading COM et apartment, texte du lien . Bien que ce que vous fassiez soit possible, vos performances vont être horribles car vous utiliserez des appartements à thread unique pour que toutes les demandes soient sérialisées. Vous devriez vraiment envisager de créer un processus distinct pour chacune de ces demandes.