我们的.NET应用程序是使用MEF编写的。我正在追踪启动时的性能问题。我看到我的UI线程正在等待编写目录中的部件。
特别是,System.ComponentModel.Composition.Hosting.AggregateCatalog.GetExports(ImportDefinition)方法似乎相当慢,因为它在内部使用List,而AddRange-ing则进行了大量的对象比较。而且,在我的情况下它被称为大约500次......所以,显然,这是热点。我附上倒置堆栈的图像导致潜在的问题。
有没有人对MEF有同样的经历,或者我们可能使用它不正确?
或许,我们怎么能帮助MEF避免做它现在做的事情呢?
谢谢,
阿列克谢