【发布时间】:2011-05-21 19:36:04
【问题描述】:
我刚刚创建了一个简单的测试 Windows 服务,但遇到了问题。我是 Windows 服务的新手,所以我什至不知道我是否做得对。
namespace testWindowsService
{
public partial class Service1 : ServiceBase
{
public Service1()
{InitializeComponent();}
protected override void OnStart(string[] args)
{
FileStream fs = new FileStream(@"c:\temp\started.txt", FileMode.OpenOrCreate, FileAccess.Write);
StreamWriter m_streamWriter = new StreamWriter(fs);
m_streamWriter.BaseStream.Seek(0, SeekOrigin.End);
m_streamWriter.WriteLine("Service Started on \n" + DateTime.Now.ToShortDateString() + " at " + DateTime.Now.ToShortTimeString());
m_streamWriter.Flush();
m_streamWriter.Close();
}
protected override void OnStop()
{
FileStream fs = new FileStream(@"c:\temp\stopped.txt", FileMode.OpenOrCreate, FileAccess.Write);
StreamWriter m_streamWriter = new StreamWriter(fs);
m_streamWriter.BaseStream.Seek(0, SeekOrigin.End);
m_streamWriter.WriteLine("Service Stopped \n" + DateTime.Now.ToShortDateString() + " at " + DateTime.Now.ToShortTimeString());
m_streamWriter.Flush();
m_streamWriter.Close();
}
}
}
然后我构建项目并从开始 -> 所有程序 -> Microsoft Visual Studio 2008 -> Visual Studio 工具 -> Visual Studio 2008 命令提示符打开命令提示符。从我跑的提示:
installutil C:\Users\myUser\Documents\MyServices\testWindowsService\testWindowsService\bin\Debug\testWindowsService.exe
但我得到了错误:
No public installers with the RunInstallerAttribute.Yes attribute could be found in the C:\Users\myUser\Documents\MyServices\testWindowsService\testWindowsService\bin\Debug\testWindowsService.exe assembly.
我试过谷歌搜索,但发现很多死胡同和一半答案。
谢谢
【问题讨论】:
-
您不需要记录服务的启动和停止,这将为您完成,并且条目将出现在事件日志中。
-
如果它解决了您的问题,您是否有机会接受答案?
标签: windows web-services visual-studio-2008 installutil