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을 기반으로 작성한 설치 프로그램을 거의 사용하고 있습니다. 나는 분명히 또한 모든 코드 변경 후 건물/제거/다시 설치 해요.
아마도 'InitializeComponent()'에 아마도 검토 할 코드가없는 무언가가있을 것입니다. 'timer2.Elapsed' 이벤트가 코드에 지정되지 않았기 때문에 일부 시각적 구성 요소를 사용하고 있다고 가정하고 있지만 디자이너가 자동 생성 코드로 보이는 것은 사용자가 가지고있는 것입니다. –
@ErikPhilips 글쎄, 코드에 있었지만 디버깅을 위해 가져갔습니다. 비록 삭제하더라도, 나는 같은 문제가 발생합니다. 사실, 전혀 새로운 코드가 없으면 오류가 발생합니다. 그것은 Installer 나 something과 관련이 있습니다. 이전 windows 서비스와 다른 점이 있습니다. –
서 비스 서비스가 초기화되었고, initializecomponent에는 servicename을 제외하고 생성 된 코드가 없습니다. –