制作windows services 服务的过程
2012-01-31 18:03
363 查看
什么是服务,概念就不落落了
用的vs 2008
1,新建
默认的俩文件如图
制作安装包
这时候工程里会多一个projectinstaller.cs的文件,在这个工程文件里我们可以设置与服务相关的属性以及控制其启动方式等。点击projectinstall设计界面中的serviceinstaller1组件,在属性中我们可以做如下调整:
1) Description:设置与服务有关的解释说明
2) displayname:标识服务的友好名称
3) servicename:设置服务的名称
4) starttype:启动方式,如果想让服务安装完成后自动启动,可以设置成automatic
点击serviceprocessinstall1组件,在属性中我们将account设置成localsystem。
这样基本上服务就设置完毕了。接下来的工作就是写对应的代码。回到service1.cs文件中,默认有onstart和onstop属性,分别对应了服务启动和停止时执行的事件。
代码
private static string IHour = "0";
private static string IMinute = "00";
private static string Ekpaddr = "";
public System.Timers.Timer aTimer = new System.Timers.Timer();
public Service1()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{ // TODO: 在此处添加代码以启动服务。
aTimer.Elapsed += new ElapsedEventHandler(OnTimer);
aTimer.Interval = 60000; //每分钟
aTimer.Enabled = true;
aTimer.Start();
}
protected override void OnStop()
{
// TODO: 在此处添加代码以执行停止服务所需的关闭操作。
aTimer.Stop();
}
设置服务启动后自动执行:
前面讲到了projectinstall有一个starttype属性,用于设置服务器安装后是否自动启动,实践中发现这个方法并不都有效。往往是安装完服务后还需要手工去执行启动。修改的方法如下:
在projectinstaller.cs中添加如下代码:
public partial class ProjectInstaller : Installer
{
public ProjectInstaller()
{
InitializeComponent();
//this.Committed += new InstallEventHandler(ProjectInstaller_Committed);
this.AfterInstall += new InstallEventHandler(ProjectInstaller_Committed);
}
private void ProjectInstaller_Committed(object sender, InstallEventArgs e)
{
System.ServiceProcess.ServiceController controller = new System.ServiceProcess.ServiceController("msdemailservice"); //参数为服务的名字
controller.Start();
}
}
用的vs 2008
1,新建
默认的俩文件如图
制作安装包
这时候工程里会多一个projectinstaller.cs的文件,在这个工程文件里我们可以设置与服务相关的属性以及控制其启动方式等。点击projectinstall设计界面中的serviceinstaller1组件,在属性中我们可以做如下调整:
1) Description:设置与服务有关的解释说明
2) displayname:标识服务的友好名称
3) servicename:设置服务的名称
4) starttype:启动方式,如果想让服务安装完成后自动启动,可以设置成automatic
点击serviceprocessinstall1组件,在属性中我们将account设置成localsystem。
这样基本上服务就设置完毕了。接下来的工作就是写对应的代码。回到service1.cs文件中,默认有onstart和onstop属性,分别对应了服务启动和停止时执行的事件。
代码
private static string IHour = "0";
private static string IMinute = "00";
private static string Ekpaddr = "";
public System.Timers.Timer aTimer = new System.Timers.Timer();
public Service1()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{ // TODO: 在此处添加代码以启动服务。
aTimer.Elapsed += new ElapsedEventHandler(OnTimer);
aTimer.Interval = 60000; //每分钟
aTimer.Enabled = true;
aTimer.Start();
}
protected override void OnStop()
{
// TODO: 在此处添加代码以执行停止服务所需的关闭操作。
aTimer.Stop();
}
设置服务启动后自动执行:
前面讲到了projectinstall有一个starttype属性,用于设置服务器安装后是否自动启动,实践中发现这个方法并不都有效。往往是安装完服务后还需要手工去执行启动。修改的方法如下:
在projectinstaller.cs中添加如下代码:
public partial class ProjectInstaller : Installer
{
public ProjectInstaller()
{
InitializeComponent();
//this.Committed += new InstallEventHandler(ProjectInstaller_Committed);
this.AfterInstall += new InstallEventHandler(ProjectInstaller_Committed);
}
private void ProjectInstaller_Committed(object sender, InstallEventArgs e)
{
System.ServiceProcess.ServiceController controller = new System.ServiceProcess.ServiceController("msdemailservice"); //参数为服务的名字
controller.Start();
}
}
相关文章推荐
- windows服务安装程序制作过程【转】
- 用vs.net制作一个windows服务的过程
- C#制作 Windows 服务安装程序
- C#开发Windows Services服务--服务安装失败的解决办法
- 第一部分:使用iReport制作报表的详细过程(Windows环境下)
- windows中使用installShield制作windows服务的安装包
- Windows CE .NET中实现服务的简单过程
- C#制作Windows service服务系列三--制作可控制界面的Windows服务
- C#创建windows服务程序,并制作windows服务安装包。
- 安装windows sharepoint services 3.0 模版过程及需要注意的问题
- C#制作Windows service服务系列三--制作可控制界面的Windows服务(windows service)
- C#制作Windows service服务系列二--演示一个定期执行的windows服务及调试
- 关于**订单缴费windows服务项目过程中遇到的一些问题和反思
- C#实现Windows 服务的制作安装和删除
- 使用Delphi制作自动登录的Windows终端服务客户端
- 使用iReport制作报表的详细过程(Windows环境下)
- 第一部分:使用iReport制作报表的详细过程(Windows环境下)
- c# 编写windows 服务,并制作安装包
- .net Windows服务程序和安装程序制作
- C#编写Windows服务的基本过程(转)