相关疑难解决方法(0)

指定实例化proc COM对象时要使用的单元状态

我在.NET中创建了一个COM对象,并将其注册为使用Pooling = 1的COM +服务器应用程序regsvcs.我目前正在寻找一个bug,因此需要确保这个COM对象在STA中运行,而不是在MTA中运行.我怎么指定这个?
以下任何一项都会对我有所帮助:

  • 组件服务中的设置捕捉
  • 一个设置/代码片段,它使COM对象只允许STA而不是Both
  • 调用者端的C#中的设置/代码片段告诉COM +应该用STA初始化COM对象

更新:
我尝试手动ThreadingModel将注册表中的条目更改BothApartment.这也没有帮助,因为当我尝试实例化COM对象时,我得到一个COMException(0x80110802)并且事件查看器说:

注册表中指定的组件的线程模型与注册数据库不一致.有缺陷的组件是:<MyComponent>

我需要更改线程模型吗?例如在"注册数据库"中?我在哪里可以找到它?

谢谢!

.net c# com com+

5
推荐指数
1
解决办法
1873
查看次数

标签 统计

.net ×1

c# ×1

com ×1

com+ ×1