检查C#中是否已打开DTC服务

时间:2015-01-29 12:43:45

标签: asp.net-mvc msdtc

当分布式事务协调器(DTC)未运行时,我们的MVC C#站点会引发奇怪的误导性错误,使开发人员和测试人员感到困惑。我们想要检查服务是否正在运行,并在Global.asax之类的问题上标记问题。有什么办法吗?

1 个答案:

答案 0 :(得分:3)

以下代码启动本地计算机上的MSDTC服务(如果它当前处于“已停止”状态

您需要引用 System.ServiceProcess 程序集


using(var msDtcSvc = new System.ServiceProcess.ServiceController("MSDTC"))
{
    if(msDtcSvc.Status == System.ServiceProcess.ServiceControllerStatus.Stopped)
    {
        msDtcSvc.Start();
    }
}