AppDomain如何在托管.NET组件的导航应用程序中初始化

时间:2010-10-06 08:05:58

标签: c# .net windows initialization

我们将一些.NET类公开为COM组件。客户拥有一个服务,该服务利用来自多线程C ++应用程序的这些COM组件。事情通常很好但在某些情况下我们看到在此环境中将请求排队到System.Threading.Threadpool的问题。基本上,当我们使用System.Threading.ThreadPool.QueueUserWorkItem对用户工作进行排队时,即使在任何时候正在进行的同时请求不超过15-20个,我们也会收到错误。 这项服务在Quad核心服务器上运行,并没有真正受到任何重大资源压力。 从.NET COM组件中我们排队一些Web服务调用,因为我们不希望在这些调用正在进行时保持整个处理顺序(它们基本上是火灾和忘记类型的任务)。

所以我想知道的是,是否有人了解Applicaion域如何从这样的环境初始化,所以我可以尝试开始追踪这个问题。

亲切的问候

诺尔。

1 个答案:

答案 0 :(得分:0)

QueueUserWorkItem返回值的文档说:

  如果方法成功排队,则

true ;如果工作项无法排队,则抛出NotSupportedException

这似乎不允许错误的回报。因此,要么花时间与.NET Reflector了解这种方法的错误含义,要么与Microsoft交谈(要么有文档或实现错误)。如果采取后一种方式,将最短的重新组合起来就可以了。