1:首先新建Windows->Windows服务
2:开始键入代码如下:
public partial class Service1 : ServiceBase
{
private System.Timers.Timer myTimer;
public Service1()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
Debug.WriteLine("MyService Is Started !");
myTimer = new System.Timers.Timer(3000);
myTimer.Elapsed += timer1_Tick_1;
myTimer.Interval = 3000;
myTimer.Enabled = true;
myTimer.Start();
}
private void Work()
{
string Str = DateTime.Now.ToShortDateString();
string Content = string.Format("内容为:{0}", DateTime.Now.ToString());
DbHelper db = new DbHelper();
DbCommand cmd = db.GetSqlStringCommond("insert into Account values('" + Str + "','" + Content + "')");
db.ExecuteNonQuery(cmd);
}
private Int32 Count = 0;
private void timer1_Tick_1(object sender, EventArgs e)
{
Count++;
Work();
if (Count == 5)
{
string ii = "";
}
}
}
其中string ii = "";中可以设置一个断点,到发布以后用来调试
3:在服务空白页右键->添加安装程序
4:会出现如下2个类,设置他们的属性:
设置serviceProcessInstaller1 ->Account ->LocalSystem
serviceProcessInstaller1 ->Modiffers -> Public
设置 serviceInstaller1->DisplayName -> “windowsTest” (安装以后服务的名称,可以随便取)
serviceInstaller1->DisplayName -> “window服务编写测试t” (安装以后服务的说明,可以随便取)
serviceInstaller1 -> Modiffers -> Public
serviceInstaller1 ->ServiceName - >FirstService( 未知是做什么用的)
serviceInstaller1 ->StartType- >Automatic(自动启动)
然后直接生成,写2个批处理放在\bin\Debug目录下,用记事本改一下就好了。代码如下:
安装服务.bat
C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe WindowsService1.exe
pause
卸载服务.bat
C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe /u WindowsService1.exe
pause
5:然后点击 安装服务.bat 进入安装
6:然后就可以在 我的电脑 ->右键 ->管理 ->服务和应用程序 ->服务中 找到该服务了
右键启动它 就OK了
7:关于调试,之前设置过断点了吧?在vs中找到工具->附加到进程
勾上显示所有用户进程 和显示所有会话中进程 ,找到该进程,点击附加即可
注意:要调试的话,需要DeBug 模式哦