在多线程Windows http服务器中运行非线程安全的dll
我需要将 VB6 应用程序封装为将由 IIS 调用的 COM 对象。 VB6 应用程序使用的 dll 之一不是线程安全的。
如何确保每当调用我的 COM 对象时,它不会与自身的其他实例共享相同的 dll?
我在某处读到 ActiveX exe 在不同的进程中运行每个实例,这足够吗?
I need to encapsulate a VB6 application as a COM object that will be called by IIS. One of the dlls used by the VB6 app is NOT thread-safe.
How can I make sure that whenever my COM object is called it doesn't share the same dll with other instances of itself?
I read somewhere that ActiveX exes run each instance in a different process, would that be enough?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要阅读 COM 和单元线程模型, 链接文本。 虽然您所做的事情是可能的,但您的性能将会很糟糕,因为您最终将使用单线程公寓,因此所有请求都将被序列化。 您确实应该研究为每个请求创建一个单独的流程。
Your going to need to read up on COM and apartment threading models, link text. While what your doing is possible your performance is going to be horrible because you will end up using single threaded apartments, so all requests will be serialized. You really should investigate creating a separate process for each of these requests.