我有几个COM+应用程序,每个应用程序都有几个组件和正在运行的实例。我可以查看组件服务管理小程序来查看统计信息(调用时间、池、激活、调用中等)。我想通过编程访问这些信息,这样我就可以编写一个监控工具,在备份时发送警报。
遗憾的是,我似乎找不到提供实际实例信息的C#API或PowerShell脚本。我可以获得关于实际应用程序及其组成组件的各种信息,而不了解正在运行的实例。
我看到过这个关于"COM+跟踪"的页面,这听起来正是我所需要的,但我不知道如何将其翻译成C#。
我还成功地使用PS访问了COM+管理集合,但"ApplicationInstances"集合不包含任何关于实际度量的内容。
有什么想法吗?提前感谢!
我找到了这篇文章和代码示例,它几乎回答了我的问题。
请注意,为了安装代码示例,我必须使用7-Zip手动从安装程序中提取内容。由于某种原因,安装程序本身在Windows7上运行时会引发错误。
我还没有完成,但我希望能够修改此解决方案以使用COM+Tracking接口(即IComTrackingInfoEvents接口),它提供了我需要的粒度和信息(呼叫持续时间等)