我知道当我尝试创建新的MessageQueue时,如果没有启用消息队列,系统会抛出InvalidOperationException异常.
但是如何在程序上知道消息队列是否在机器上启用?
我正在使用C#2.0& C#4.0在两个不同的代码库.
解决方法
您可以使用System.ServiceProcess来执行此操作,但首先需要添加对项目Service.ServiceProcess的引用,您可以检索所有服务并获取其状态:
List<ServiceController> services = ServiceController.GetServices().ToList(); ServiceController msQue = services.Find(o => o.ServiceName == "MSMQ"); if (msQue != null) { if (msQue.Status == ServiceControllerStatus.Running) { // It is running. } } else { // Not installed? }