麻烦给个windows服务的范例
我照着webcast里面的步骤一步步做,做是做出来了,能安装但是启动不了,没写什么逻辑,就一个OnStart和OnStop里面写入一个txt文件,记录时间,我也真服我了,照着来做,搞了大半上午都没搞出来,还是启动不了。提示说“启动后停止了”,我犯傻了。
好心人,提供个 .net3.5的创建的“windows服务”项目源码,只要能运行安装和运行就OK,在OnStart和OnStop里面写入一个txt文件,我想对比下我错哪了
比如:
protected override void OnStart(string[] args)
{
StreamWriter sw ;
try
{
sw = File.AppendText("d:\\Logs.txt"); ;
sw.WriteLine("服务启动成功:"+dateTimePicker1.Value.ToString());
}
catch (Exception ex)
{
sw = File.AppendText("d:\\Logs.txt");
sw.WriteLine("StartErro:" + ex.Message);
}
}
项目源码传网盘给小弟下载看看,麻烦你们了
------解决方案--------------------http://www.cnblogs.com/caca/archive/2005/02/25/109028.html
你可以将服务附加到进程调试看下
------解决方案--------------------服务用的权限和当前登陆账号不一样,看看是不是权限问题。
------解决方案--------------------还有,服务是没有 “窗体”,也就是说,别弄控件。
------解决方案--------------------开发时,你应该使用Console程序来测试。例如把你要执行的方法放到一个工程中,然后被一个Console工程引用。待调试/测试完毕,需要发布时,你的那个Window Service工程才用上,这个工程中大致只写
protected override void OnStart(string[] args)
{
MyDll.Program.Main();
}
这一行代码就够了。
------解决方案--------------------例如你的 MyProc.exe 可能是这样的
public class Program
{
static void Main(string[] args)
{
//加载一大堆服务,监听一些端口
Console.WriteLine();
Console.WriteLine("系统已经进入控制台Pending状态(按Ctrl+C键关闭进程)........");
Console.WriteLine();
var mh = new ManualResetEvent(false);
&