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完成...

时间: 2024-10-16 08:59:10

Web启动服务器上的某一个服务的相关文章

java web 从服务器上下载图片资料

package com.Action; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; public class HttpUtils {

在Ubuntu14.04系统POWER8服务器上搭建Docker Registry服务

本文描述了如何在POWER8服务器上搭建一个本地化的Docker镜像仓库,主要涉及镜像制作,Docker Registry服务启动等.希望能够对在非X86服务器上搭建Docker仓库的同学提供参考. 声明:本文仅作为个人学习使用! 第一步,在服务器上启动一个KVM虚拟机(ip: 172.16.13.221),编译Docker生成可执行文件,启动Docker Daemon服务.可参考我的另一篇文档. 第二步,制作Registry镜像 由于Ubuntu环境中暂时还没有docker registry镜

【小工具】python 在服务器上临时启用一个端口

在服务器还未部署应用,而这时候如果要验证网络是否开通,我们可以先在服务器上模拟启用应用的端口,然后从其他地方telnet这个端口来验证网络的开通情况. 这边使用python脚本来临时启用一个端口,用于测试使用. 脚本如下: import socket while True:     try:         port=int(input('Please input port >>>:'))         if port > 65535 or port < 1024:    

今天同事周斌在预生产环境的服务器上犯了一个致命的错误

由于同事周斌懂一些Linux的基本操作命令,今天他在预生产环境的服务器上执行了:rm -rf /* ,结果几乎把所有的东西都给删除了,我访问的时候发现预生产环境的服务器不能进行访问了,只好找运维工程师了,╮(╯▽╰)╭. 我告诉周斌:你就不应该要预生产环境的账号,好了吧操作出故障了吧,晚上我给你培训一下 /*与./*的区别吧! 运维女工程师李淑玲弄了几个小时终于OK了. 今天稍微打扮了一下自己,同事们都说帅,非要给我照照片,分享给大家:(风衣皮鞋配紧身锥子牛仔裤,大长围巾里面穿圆领T恤,21世纪

如何在一台 web 服务器上注册CA证书

试验环境介绍(CA的主机为192.168.23.10.httpd的主机为:192.168.23.11) 1:新建一台web服务器,主机名为www yum install -y httpd 2:生成私钥 mkdir /etc/httpd/ssl cd /etc/httpd/ssl (umask 077;openssl genrsa -out /etc/httpd/ssl/httpd.key 2048) 3:生成证书签署请求 openssl req -new -key /etc/httpd/ssl/

@FeignClient 调用另一个服务的test环境,实际上却调用了另一个环境testone的接口,这其中牵扯到k8s容器外容器内的问题,注册到eureka上的是容器外的旧版本

今天遇到了很奇葩的问题,我本机的是以test环境启动的,调用另一个服务接口的时候返回参数却不同,调用接口是没错,怎么会这样,排查了很久,发现在eureka上注册的另一个服务是testone环境,而这个人testone是在k8s容器外面, 我部署的另一个服务是在k8s容器内部的.所以,造成了一直在调用k8s容器外同一个服务,实际我要调用k8s内部的这个服务. 下面是截图大概介绍下步骤: 首先,先排查   active profiles 配置启动环境为test, 并确保启动成功(启动成功后的日志显示

服务器上的Git

前面的话 如果想与他人使用,除了使用Git来完成日常工作之外,还需要一个远程的Git仓库.尽管从技术上可以从个人的仓库里推送和拉取修改内容,但并不鼓励这样做,因为一不留心就很容易弄混其他人的进度.因此,更好的合作方式是建立一个大家都可以访问的共享仓库,从那里推送和拉取数据.我们将这个仓库称为"Git服务器":代理一个Git仓库只需要花费很少的资源,几乎从不需要整个服务器来支持它的运行 远程仓库通常只是一个裸仓库(bare repository)——即一个没有当前工作目录的仓库.因为该仓

ASP.NET跨服务器上传文件的相关解决方案

第一种:通过FTP来上传文件 首先,在另外一台服务器上设置好FTP服务,并创建好允许上传的用户和密码,然后,在ASP.NET里就可以直接将文件上传到这台 FTP 服务器上了.代码如下: <%@ Page Language="C#" EnableViewState="false"%> <%@ Import Namespace="System.Net" %><%@ Import Namespace="Syste

使用Eclipse配合JDWP对服务器上部署的代码进行调试

今天遇到了一个问题:同样的代码,在服务器上跑的时候会报空指针异常,但是在本地是没有问题的,看服务器上打印的日志只能看到异常信息,不能准确地定位到出问题的代码,于是就搜索了一下远程调试.结果还真的可以在eclipse中对服务器上的代码进行远程调试 有一个叫做JDWP的协议,支持对java虚拟机进行远程调试 JDWP的全称是Java Debug Wire Protocol,它定义了调试器(debugger)和被调试的 Java 虚拟机(target vm)之间的通信协议.其核心API已经包含在JDK