gpt4 book ai didi

.Net Com Interop 创建实例缓慢

转载 作者:行者123 更新时间:2023-12-01 04:18:19 24 4
gpt4 key购买 nike

我有一个 .net 4 应用程序,它使用 Com Dll 发送 SMS 消息。我使用 TlbImp 创建互操作程序集,这就是应用程序中引用的内容。

当我尝试创建此类的实例时,它需要很长时间(2-5 秒)。

我在 VS 2010 中运行了性能配置文件,到目前为止耗时最长的调用是 System.Activator.CreateInstance()。

我正在寻找有关如何使用 Com Interop 进行调试或遇到问题的提示。

最佳答案

您在其上创建对象的线程是什么 COM 单元类型?

如果它是您的主应用程序线程并且您没有使用 STAThreadAttribute 标记您的 Main 入口点您将在 MTA 中运行。如果您使用该属性,您的线程将位于 STA 中。对于其他线程,您可以使用 Thread.SetApartmentState 设置单元类型。在开始线程之前。

如果您的 COM 对象注册的单元模型与您使用的单元模型不同,则您将承担启动新线程/单元、在该其他单元中创建对象以及通过代理/ stub 而不是通过代理/ stub 发生的所有通信的开销而不是直接调用 COM 对象。

这可能会导致一些性能问题。

关于.Net Com Interop 创建实例缓慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2814423/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com