2008-10-29 10 views

답변

3

당신이 찾고있는 것이 조금 분명합니다. Windows 서비스 Visual Studio의 프로젝트 유형은 기본 Windows 서비스로 이동하는 데 필요한 템플릿이 포함 된 프로젝트를 만듭니다.

this article은 C# Online에서 볼 수도 있습니다. 그것은 몇 가지 아이디어를 거쳐 기사에 몇 가지 부분이 있습니다. (주의 : 페이지가 약간 느려서 인내심을 가지고있는 것 같습니다.)

1

저는 VS2005를 사용하고 있으며 기본 템플릿부터 시작하겠습니다. http://msdn.microsoft.com/en-us/library/ddhy0byf(VS.80).aspx

작고 빠른 초기화 기능을 유지, 그렇지 않으면 서비스가 시작되지 않습니다 : 당신은 설치 프로그램을 추가 한 후

은 InstallUtil.exe는을 사용하여 설치이

using System; 
using System.ServiceProcess; 
using System.Timers; 

namespace WindowsService1 
{ 
    public partial class Service1 : ServiceBase 
    { 
     //better is to read from settings or config file 
     private readonly Double _interval = (new TimeSpan(1, 0, 0, 0)).TotalMilliseconds; 
     private Timer m_Timer; 

     public Service1() 
     { 
      InitializeComponent(); 
      Init(); 
     } 

     private void Init() 
     { 
      m_Timer = new Timer(); 
      m_Timer.BeginInit(); 
      m_Timer.AutoReset = false; 
      m_Timer.Enabled = true; 
      m_Timer.Interval = 1000.0; 
      m_Timer.Elapsed += m_Timer_Elapsed; 
      m_Timer.EndInit(); 
     } 

     private void m_Timer_Elapsed(object sender, ElapsedEventArgs e) 
     { 
      //TODO WORK WORK WORK 
      RestartTimer(); 
     } 

     private void RestartTimer() 
     { 
      m_Timer.Interval = _interval; 
      m_Timer.Start(); 
     } 

     protected override void OnStart(string[] args) 
     { 
      base.OnStart(args); 
      Start(); 
     } 

     protected override void OnStop() 
     { 
      Stop(); 
      base.OnStop(); 
     } 

     public void Start() 
     { 
      m_Timer.Start(); 
     } 

     public new void Stop() 
     { 
      m_Timer.Stop(); 
     } 
    } 
} 

에 서비스 클래스를 수정 서비스가시기 적절하게 응답하지 않았다는 오류

희망이 답변을드립니다.