在学校很少写到windows Service ,根本连它是什么都不知道,查了很多资料所以决定写起来。
从最一开始的asp.net 如何建置专案、安装程式、code、cmd 安装、启动服务、侦错,全部记录下来。
有天,主管突然跟我说写一个程式,可以让它每天凌晨两点将旧资料库的东西更新到新的资料库,我一脸茫然的看着它想着web form 怎写啊???
查了许多资料,有人利用winform;有人利用windows service 有人说写在DB procedure里面,对于这么多庞大的资讯我还是一头雾水。
像这种定时更新或是定时做任何事情的程式,因为它是不需要介面的程式,所以最终我决定采用windows service来进行撰写。
利用asp.net 新建windows Service 服务
Step 1 : 首先先新增一个专案>> windows 服务
Step 2: 右键>> 加入安装程式
Step3:点选serviceProcessInstaller1 属性>> 将account 改成最高
Step4:这边的DisPlayName会是待会服务打开时所显示的名称
Step5 :进入Service1的检视程式码,会看到OnStart Onstop
OnStart 代表服务开始后要做什么
OnStop 代表服务结束后要做什么
public partial class Service1 : ServiceBase
{
public Service1()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
}
protected override void OnStop()
{
}
}
step6 : 写完onStart Onstop code后,我们要先建置这个服务,会在最下方看到你建置的路径在哪
进入路径你会看到一个你的方案名称的exe档案这边是WindowsService4.exe
Step 7 :因为windows service 它必须要用intiall.exe来打开,所以我们先找寻到这个路径
C:\Windows\Microsoft.NET\Framework64\v4.0.30319 >> 请先确定你的frameWork版本并将这个路径加入环境变数,使它之后可以直接执行
在这边其实应该要用正统的方法去建置并启动服务,但实作到现在我觉得这个方法最方便
利用系统管理员执行cmd
并且cd 到你的目录>> 这边我将exe档案丢到桌面的一个叫做service的资料夹
打入 InstallUtil 方案名称.exe 若有看到成功安装服务则代表安装成功
Step 8:打开服务应该会看到你在displayName所设定的名称>>将它启动>>如果没有任何问题则服务就会启动了
Step 9 : 如何卸除服务
卸除服务则只要将安装的语法在多个/u 便可以卸除装载
InstallUtil /u 方案名称.exe
翻译自:dotblogs.com.tw chi’s coding life