【问题标题】:How to find out which threading model a DLL was built with?如何找出构建 DLL 的线程模型?
【发布时间】:2010-11-23 00:20:38
【问题描述】:

编写一个 ASP.NET 网站,我们有很多需要依赖的遗留组件。

我的观点是,因为我们是 ASP.NET 中的 MTA(多线程单元),如果我们使用 STA 组件,那么请求将排队。因此,即使我们使用 MTA 的 .NET 组件,如果 IT 依赖于旧的 STA 组件,它仍然会排队。到目前为止我是对的吗?

无论如何,我真正的问题是 - 仅通过检查 .DLL,我可以找出它是在哪个线程模型下构建的吗?

谢谢 邓肯

【问题讨论】:

  • 您是否有特定原因要求仅检查 DLL?据我所知,没有任何程序元数据可供您查询其包含对象的线程模型——注册表中提供了该信息。
  • 感谢您的反馈。如果一个组件没有在注册表中注册,例如它只是一个 ActiveX DLL - 这是否有单独的线程模型?还是仅适用于 COM 对象?

标签: asp.net com multithreading


【解决方案1】:

ActiveX 和 COM 基本上是相同的东西——它们都必须注册才能使用。线程模型(据我所知)仅适用于 COM 对象,而不适用于 .NET 对象,因此除非您正在执行 COM 互操作,否则您不需要关心线程模型。

【讨论】:

  • 哎呀,我的意思是作为评论回复,但我想是时候回答了:-)
猜你喜欢
  • 2022-12-23
  • 1970-01-01
  • 1970-01-01
  • 2018-02-27
  • 2018-07-26
  • 2012-05-23
  • 1970-01-01
  • 1970-01-01
  • 2018-07-04
相关资源
最近更新 更多