2012-06-15 2 views
1

저는 이것이 Windows 서비스의 onStart 메소드와 관련이있는 매우 일반적인 오류라는 것을 알고 있습니다. 그러나 왜 이것이이 ' 일하고있어.서비스를 시작할 수 없습니다 : 서비스가 제어문에 응답하지 않습니다

윈도우 이벤트 뷰어를 통해 오류의 Heres는 스택 추적 : 여기

at System.Diagnostics.EventLog.FindSourceRegistration(System.String, System.String, Boolean, Boolean) 
    at System.Diagnostics.EventLog.SourceExists(System.String, System.String, Boolean) 
    at System.Diagnostics.EventLog.SourceExists(System.String) 
    at ArchivalPurgeService.ArchivalPurge..ctor() 
    at ArchivalPurgeService.Program.Main() 

및 내 프로그램입니다 :

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Diagnostics; 
using System.Linq; 
using System.ServiceProcess; 
using System.Text; 
using System.Timers; 

namespace ArchivalPurgeService 
{ 
    public partial class ArchivalPurge : ServiceBase 
    { 
     public ArchivalPurge() 
     { 
      try 
      { 
       InitializeComponent(); 
      } 
      catch (Exception ex) 
      { 
      } 
     } 

     protected override void OnStart(string[] args) 
     { 
      try 
      { 
       timer2 = new Timer(); 
       timer2.Enabled = true; 
       timer2.Interval = Convert.ToInt32(System.Configuration.ConfigurationSettings.AppSettings["RuntimeFrequency"]); 
      } 
      catch (Exception ex) 
      { 
      } 
     } 

     private Queue<Job> QueryDBForJobs() 
     { 
      int i = 0; 
      return new Queue<Job>(); 
     } 

     protected override void OnStop() 
     { 

     } 


     private void timer2_Elapsed(object sender, ElapsedEventArgs e) 
     { 
      QueryDBForJobs(); 
     } 
    } 
} 

그리고 난 주석 모든 것을 실행하려고, 그리고 같은 문제가 생겼어. 이것이 설치 문제 일 수 있습니까? 윈도우 서비스를 만드는 방법에 대해 MSDN을 기반으로 작성한 설치 프로그램을 거의 사용하고 있습니다. 나는 분명히 또한 모든 코드 변경 후 건물/제거/다시 설치 해요.

+0

아마도 'InitializeComponent()'에 아마도 검토 할 코드가없는 무언가가있을 것입니다. 'timer2.Elapsed' 이벤트가 코드에 지정되지 않았기 때문에 일부 시각적 구성 요소를 사용하고 있다고 가정하고 있지만 디자이너가 자동 생성 코드로 보이는 것은 사용자가 가지고있는 것입니다. –

+0

@ErikPhilips 글쎄, 코드에 있었지만 디버깅을 위해 가져갔습니다. 비록 삭제하더라도, 나는 같은 문제가 발생합니다. 사실, 전혀 새로운 코드가 없으면 오류가 발생합니다. 그것은 Installer 나 something과 관련이 있습니다. 이전 windows 서비스와 다른 점이 있습니다. –

+0

서 비스 서비스가 초기화되었고, initializecomponent에는 servicename을 제외하고 생성 된 코드가 없습니다. –

답변

1

명백하게 문제는 설치가 아니라 코드와 관련이 있습니다. installutil을 통해 설치하면 모든 것이 잘 동작합니다.

관련 문제