• 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:你的路径at启动服务.Bat";   //Bat文件路径
    
    p.Start();                //开始执行
    p.WaitForExit(3000);      //是否一直等待执行的Bat文件执行完毕..或者等3秒
    p.Close();                //执行结束

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

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

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

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

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

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

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

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

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

  • 相关阅读:
    跟踪创建类的个数
    动手动脑3
    动手动脑:随机数发生器和函数重载
    统计英语文章中单词
    动手动脑(1)
    原码、反码、补码
    java测试ATM自助操作系统
    深入浅出 TCP/IP 协议栈
    十大经典排序算法(动图演示)
    深入浅出 Viewport 设计原理
  • 原文地址:https://www.cnblogs.com/iiwen/p/4760972.html
Copyright © 2020-2023  润新知