マルチスレッドWindows HTTPサーバーでの非スレッドセーフDLLの実行
-
19-08-2019 - |
質問
VB6アプリケーションを、IISによって呼び出されるCOMオブジェクトとしてカプセル化する必要があります。 VB6アプリで使用されるdllの1つはスレッドセーフではありません。
COMオブジェクトが呼び出されるたびに、同じdllをそれ自体の他のインスタンスと共有しないようにするにはどうすればよいですか?
ActiveX exeが各インスタンスを異なるプロセスで実行することをどこかで読みましたが、それで十分でしょうか?
解決
COMおよびアパートメントスレッドモデル、リンクテキスト。あなたがやっていることは可能ですが、シングルスレッドアパートメントを使用することになるため、パフォーマンスは恐ろしくなります。そのため、すべてのリクエストがシリアル化されます。これらのリクエストごとに個別のプロセスの作成を検討する必要があります。
所属していません StackOverflow