webform调用windows服务
准备工作:
.电脑->管理->本地用户和组->组->Administrator双击->隶属->添加Network service->确定
.启动windows服务Windows Installer
.创建winform项目 WindowsFormsApplication1
.添加windows服务 service1
.添加代码
protected override void OnStart(string[] args)
{
if (args != null && args.Length > )
{
if (args[] == "")
{
string path = $@"d:\kxbbbb{DateTime.Now.ToLongDateString()}.txt";
File.Create($"{path}");
}
else if (args[] == "")
{
string path = $@"d:\kxqqq{DateTime.Now.ToLongDateString()}.txt";
File.Create($"{path}"); }
} // TODO: 在此处添加代码以启动服务。
}
.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);
} .service1.cs右键查看设计器,再右键添加安装程序,默认添加两个
serviceInstaller1和serviceProcessInstaller1
.serviceInstaller1右键属性修改Description 为这是一个测试服务
.serviceProcessInstaller1右键属性 Account修改为NetworkService
.管理员打开cmd
cd C:\Windows\Microsoft.NET\Framework(64)\v4.0.30319 把InstallUtil.exe复制到要发布的EXE的debug目录里面,命令切换等到该DEBUG目录
.安装服务
InstallUtil.exe WindowsFormsApplication1.exe
.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 = { "" };
service.Start(args);
service.WaitForStatus(ServiceControllerStatus.Running);
}
webform调用windows服务的更多相关文章
- Windows服务调用Quartz.net 实现消息调度
Quartz.NET是一个开源的作业调度框架,是OpenSymphony 的 Quartz API的.NET移植,它用C#写成,可用于winform和asp.net应用中.它提供了巨大的灵活性而不牺牲 ...
- .net MVC, webAPI,webForm集成steeltoe+springcloud实现调用服务中心服务的总结
开始之前,如果没接触过Autofac的,可以移步到Autofac官方示例学习一下怎么使用:https://github.com/autofac/Examples .net 下集成steeltoe进行微 ...
- 使用C#创建及调用WCF完整实例 (Windows服务宿主)
关于WCF的概念.原理.优缺点等,在这里就不多说了,网上很多,可以自行搜索,比我解释的要专业的多. 这里直接说使用Windows 服务(Windows Service)作为宿主如何实现,其它方式不在此 ...
- windows服务是如何被调用的?
1.服务介绍 操作系统在启动的时候,会启动一些不需要用户交互的进程.这些进程被称为服务.当操作系统启动后它就自动被运行. 2.组成 服务程序.服务控制程序(SCP,service control pr ...
- C#使用windows服务定时调用api接口
使用VS创建windows服务项目: 创建好项目 会出现一个设计界面 右键弹出对话框 选择添加安装程序 名字什么的自己可以改: 项目目录: 打开项目中的ProjectInstaller.Design ...
- Windows服务的新建,安装,卸载,调试以及调用!
一.前言: 写这篇博文之前,我正顶着压力在尝试着调试我一无所知的Windows自建服务.历经千辛万苦,找了无数零散文档拼凑关于VisualStudio2015中怎样创建和调试服务程序!最后终于调试成功 ...
- Python搭建调用本地dll的Windows服务(浏览器可以访问,附测试dll64位和32位文件)
一.前言说明 博客声明:此文链接地址https://www.cnblogs.com/Vrapile/p/14113683.html,请尊重原创,未经允许禁止转载!!! 1. 功能简述 (1)本文提供生 ...
- 以 Console 方式运行、调试、编译 .Net 编写的 Windows 服务
经常看到一些人在调试 Windows 服务时,很执著的在附加进程后调试!其实 .Net 编写的 Windows 应用程序,包括 Windows 服务都可以编译成 Console 程序!甚至于 ASP. ...
- 基于SignalR实现B/S系统对windows服务运行状态的监测
通常来讲一个BS项目肯定不止单独的一个BS应用,可能涉及到很多后台服务来支持BS的运行,特别是针对耗时较长的某些任务来说,Windows服务肯定是必不可少的,我们还需要利用B/S与windows服务进 ...
随机推荐
- 使用python获取路径问题
import sys curDir = sys.path[0] sys.path.append(curDir + '\\models') sys.path.append(curDir + '/mode ...
- QLoo graphql engine 学习一 基本试用(docker&&docker-compose)
说明:使用docker-compose 进行安装 代码框架 使用命令行工具创建 qlooctl install docker qloo-docker 运行qloo&&gloo 启动 ...
- FastAdmin 是如何利用 Git 管理插件代码的?
FastAdmin 是如何利用 Git 管理插件代码的? 由于 FastAdmin 的插件很多,如果每一个插件用一个项目来管理,可以倒是可以,但是项目还多了. 但是如果使用文件夹在同一级的的方式又不方 ...
- 【转】shell 编程:冒号 后面跟 等号,加号,减号,问号的意义
原文网址:http://blog.csdn.net/trochiluses/article/details/9048539 缺省值(:-) 如果变量后面跟着冒号和减号,则变量后面跟着是这个变量的缺 ...
- Java 学习思路
内容中包含 base64string 图片造成字符过多,拒绝显示
- [转][C#]常用开源项目
本文来自:http://www.cnblogs.com/sunxuchu/p/6047589.html 新增两个: 纸壳CMS http://www.zkea.net/zkeacms https:// ...
- PHP向客户端广播信息
在网络中数据传播分为:Unicast(单播) , Multicast(多播或者组播) 和 Broadcast(广播).广播和多播仅应用于UDP,它们对需将报文同时传往多个接收者的应用来说十分重要.而 ...
- py基础4--迭代器、装饰器、软件开发规范
本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 1. 列表生成式,迭代器&生成器 列表生成式 我现在有个需求, ...
- CFGym 101194D 题解
一.题目链接 http://codeforces.com/gym/101194/problem/D 二.题意 给定一个数字n和一个数字k,一个n个整数的序列,让你在里面找尽可能多的长度为k的符合“要求 ...
- 替换res\drawable中的图片
现象 在android开发中,经常会需要替换res\drawable中的图片,打开res\layout下的文件预览布局页面发现图片已经被替换,但在模拟器或者真实机器上运行时发现该图片并没有被替换,还是 ...