创建Windows服务的简单步骤:
首先打开VS2005->创建项目->创建Windows服务
Service1.cs代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Collections;
using System.Data;
using System.Diagnostics;
using System.ServiceProcess;
using MpdaoGou.Search;
using System.Threading;
using CB.Components;
namespace CreateMPService
{
public partial class Service1 : ServiceBase
{
Thread myThread;
public Service1()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
// TODO: 在此处添加代码以启动服务。
myThread = new Thread(new ThreadStart(DoService));
myThread.IsBackground = true;
myThread.Start();
}
protected override void OnStop()
{
// TODO: 在此处添加代码以执行停止服务所需的关闭操作。
}
private void DoService()
{
while (true)
{
int iHour = DateTime.Now.Hour;
try
{
if (iHour == 12)
{
// TODO: 在此处添加代码以启动服务。
Thread thread1 = new Thread(new ThreadStart(CreateProductsIndex));
thread1.IsBackground = true;
thread1.Start();
Thread thread2 = new Thread(new ThreadStart(CreateMarketsIndex));
thread2.IsBackground = true;
thread2.Start();
//Thread thread3 = new Thread(new ThreadStart(CreateBrandIndex));
//thread3.IsBackground = true;
//thread3.Start();
//Thread thread4 = new Thread(new ThreadStart(CreateFileIndex));
//thread4.IsBackground = true;
//thread4.Start();
Thread.Sleep(3600001);
}
else
{
Thread.Sleep(120000);
}
}
catch
{
Thread.Sleep(60000);
}
}
}
#region private void CreateProductsIndex() 创建产品索引库
/// <summary>
/// 创建产品索引库
/// </summary>
private void CreateProductsIndex()
{
try
{
MpdaoGou.Search.IndexLib index = new MpdaoGou.Search.IndexLib();
index.DataConn = "server=61.152.252.180,3757;database=BaseData;uid=MPBaseData;pwd=chinabest";
index.IndexPath = "D://Index//ProductIndex";
index.CreateProductIndex(index.ReturnDSProduct());
}
catch (Exception exp2)
{
string strTemp = exp2.ToString();
}
}
#endregion
#region private void CreateMarketsIndex() 创建商场索引库
/// <summary>
/// 创建商场索引库
/// </summary>
private void CreateMarketsIndex()
{
try
{
MpdaoGou.Search.IndexLib index = new MpdaoGou.Search.IndexLib();
index.DataConn = "server=61.152.252.180,3757;database=BaseData;uid=MPBaseData;pwd=chinabest";
index.IndexPath = "D://Index//MarketIndex";
index.CreateMarketIndex(index.ReturnDSMarket());
}
catch (Exception exp2)
{
string strTemp = exp2.ToString();
}
}
#endregion
#region private void CreateBrandIndex() 创建品牌索引库
/// <summary>
/// 创建品牌索引库
/// </summary>
private void CreateBrandIndex()
{
try
{
MpdaoGou.Search.IndexLib index = new MpdaoGou.Search.IndexLib();
index.DataConn = "server=61.152.252.180,3757;database=BaseData;uid=MPBaseData;pwd=chinabest";
index.IndexPath = "D://Index//BrandIndex";
index.CreateBrandIndex(index.ReturnDSBrand());
}
catch (Exception exp2)
{
string strTemp = exp2.ToString();
}
}
#endregion
#region private void CreateFileIndex() 创建文章索引库
/// <summary>
/// 创建品牌索引库
/// </summary>
private void CreateFileIndex()
{
try
{
MpdaoGou.Search.IndexLib index = new MpdaoGou.Search.IndexLib();
index.DataConn = "server=61.152.252.180,3757;database=BaseData;uid=MPBaseData;pwd=chinabest";
index.IndexPath = "D://Index//FileIndex";
index.CreateFileIndex(index.ReturnDSFile());
}
catch (Exception exp2)
{
string strTemp = exp2.ToString();
}
}
#endregion
}
}
一个简单的Windows服务代码已经完成.
要点:
千万别忘记加载安装程序(我刚开始找好久,很郁闷的),Service1要切换到设计模式点右键才会有"添加安装程序"的选项,然后进行必要的属性设置
我在本机安装Windows服务只要通过cmd->installutil命令来安装服务的exe文件(加/u是卸载)(注意,命令在C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727目录下,所以路径要设置下)
然后只要打开管理工具->服务就会看到你创建的服务已经存在了.