C#控制Windows服务

        最近在作项目的时候,常常会遇见这样的问题:程序运行时,数据库服务器却没有运行,这样的话数据库连接就会失败,程序就会出现错误。这是对用户的使用就会造成不必要的麻烦,因此在作项目时,使用了一下两种解决方案:
方案一:
        使用多线程就行操作:向Windows发送消息,创建System.Diagnostics.Process类实例和调用其中的start方法和StartInfo设置其中的Arguments,代码如下:
       启动服务的方法:
            System.Diagnostics.Process p = new System.Diagnostics.Process();
            p.StartInfo.FileName = "net";
            p.StartInfo.Arguments = "start mssqlserver";
            p.Start();
       关闭服务的方法:
            System.Diagnostics.Process p = new System.Diagnostics.Process();
            p.StartInfo.FileName = "net.exe";
            p.StartInfo.Arguments = "stop mssqlserver";
            p.Start();
      
       但是,其中出现了了一个问题,就是出现一个黑色对话框(这是不可避免的)。

方案二:
       使用C#中提供的System.ServiceProcess类库提供的方法。
       启动服务代码如下:
            ServiceController sc = new ServiceController("MSSQLSERVER");
            sc.Start();
       关闭服务的方法:
            ServiceController sc = new ServiceController("MSSQLSERVER");
            sc.Stop();
       这个是我认为比较好的方法。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值