webform调用windows服务
Posted 听哥哥的话
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了webform调用windows服务相关的知识,希望对你有一定的参考价值。
准备工作: 0.电脑->管理->本地用户和组->组->Administrator双击->隶属->添加Network service->确定 1.启动windows服务Windows Installer 2.创建winform项目 WindowsFormsApplication1 3.添加windows服务 service1 4.添加代码 protected override void OnStart(string[] args) { if (args != null && args.Length > 0) { if (args[0] == "1") { string path = $@"d:\kxbbbb{DateTime.Now.ToLongDateString()}.txt"; File.Create($"{path}"); } else if (args[0] == "2") { string path = $@"d:\kxqqq{DateTime.Now.ToLongDateString()}.txt"; File.Create($"{path}"); } } // TODO: 在此处添加代码以启动服务。 } 5.Main函数启动 /// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main() { //Application.EnableVisualStyles(); //Application.SetCompatibleTextRenderingDefault(false); //Application.Run(new Form1()); ServiceBase[] serviceRun; serviceRun = new ServiceBase[] { new Service1() }; ServiceBase.Run(serviceRun); } 6.service1.cs右键查看设计器,再右键添加安装程序,默认添加两个 serviceInstaller1和serviceProcessInstaller1 7.serviceInstaller1右键属性修改Description 为这是一个测试服务 8.serviceProcessInstaller1右键属性 Account修改为NetworkService 9.管理员打开cmd cd C:\Windows\Microsoft.NET\Framework\v4.0.30319 10.安装服务 InstallUtil.exe WindowsFormsApplication1.exe 11.webform调用 protected void Page_Load(object sender, EventArgs e) { ServiceController service = new ServiceController("Service1"); //if (service.Status == System.ServiceProcess.ServiceControllerStatus.Stopped) //{ // service.Start();//打开服务 //} //停止服务 service.Stop();//这行报错:无法打开计算机“.”上的 Service1 服务。 service.WaitForStatus(ServiceControllerStatus.Stopped); //启动服务 string[] args = { "2" }; service.Start(args); service.WaitForStatus(ServiceControllerStatus.Running); }
以上是关于webform调用windows服务的主要内容,如果未能解决你的问题,请参考以下文章
记录一次IIS部署webform请求调用python服务的异常处理
C#-WebForm-★内置对象简介★Request-获取请求对象Response相应请求对象Session全局变量(私有)Cookie全局变量(私有)Application全局公共变量Vi(代码片段