Web启动服务器上的某一个服务

情景是这样的..

网页打开一个数据列表..数据要求实时从其他多个平台上获取..

所以就有了一个Web页面..还有个WinService的服务来定时获取这些数据...

问题来了..

发现Service有时会无故的停掉..给Web端的数据呈现造成困扰..

又不想出现问题就跑到服务器上开启服务..想如何能够通过Web来控制这个服务的开启和关闭..

 

~~~~~~~~~~~~~~~~~~~~~开整~~~~~~~~~~~~~~~~~~~~

首先创建一个Bat批处理文件..不懂什么是批处理文件的进  http://baike.baidu.com/view/295769.htm

填写内容:

NET START "ServicesName" //ServicesName 是你服务的名称

保存为Bat文件  比如:   启动服务.Bat

将这个文件放在一个固定的位置..可以是你Web项目的目录下的某个地方..总之你要知道..

Web程序写上这么一段代码

System.Diagnostics.Process p = new System.Diagnostics.Process();  //定义进程
p.StartInfo.UseShellExecute = true;                               //使用操作系统 shell 启动进程
p.StartInfo.CreateNoWindow = false;                               //设置为false将会看到程序窗口
p.StartInfo.WindowStyle = ProcessWindowStyle.Normal;              //启动进程时窗口状态
p.StartInfo.FileName = @"D:\你的路径\bat\启动服务.Bat";   //Bat文件路径

p.Start();                //开始执行
p.WaitForExit(3000);      //是否一直等待执行的Bat文件执行完毕..或者等3秒
p.Close();                //执行结束

上边的代码我也是从别处Copy来的..我只是加了些备注...先谢过那位大神..

然后到这里你本地测试应该是没有问题的..

但是发到服务器上就不尽然了..

发现执行不了这个Bat了..  

这是因为你在本地使用VS执行程序..使用的是本地账户..可是服务器上使用的是网络账户..权限小的很..

可以在Applicatiaon Pool里找到本站点对应的应用程序..

属性-> 标识-> 预定义账户 -> (网络服务 改为 本地系统) -> 确定

系统会弹窗..说非常不安全..也确实是不安全..自己斟酌..

至此..Web管理WinService完成...

 

转载于:https://www.cnblogs.com/iiwen/p/4760972.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值