2011-09-23 5 views
0

.NET Windows 서비스가 있습니다. Visual Studio를 사용하여 디버깅하고 디버거를 프로세스에 연결하는 방법을 잘 알고 있습니다. 또한 디버깅을 돕기 위해 처리하는 동안 로그 파일에 서비스를 작성합니다. 내가 겪고있는 문제는 일부 사용자가 내 서비스를 설치하고 시작하려고하면 시작할 수 없다는 일반적인 오류가 발생한다는 것입니다. 나는 서비스의 시작 프로세스에 대한 광범위한 로깅을 가지고 있지만, 전에는 하나만 가지고도 하나의 프로세스가 작성되지는 않습니다. 다음은 관련 서비스 코드 :Visual Studio없이 Windows 서비스를 디버깅하려면 어떻게해야합니까? (클라이언트의 컴퓨터에서)

static void Main(string[] args) 
    { 
      ServiceBase.Run(new OSAEService()); 
    } 

public OSAEService() 
    { 
     AddToLog("Service Starting"); 
     if (!EventLog.SourceExists("OSAE")) 
      EventLog.CreateEventSource("OSAE", "Application"); 

     this.ServiceName = "OSAE"; 
     this.EventLog.Source = "OSAE"; 
     this.EventLog.Log = "Application"; 

     // These Flags set whether or not to handle that specific 
     // type of event. Set to true if you need it, false otherwise. 
     this.CanHandlePowerEvent = true; 
     this.CanHandleSessionChangeEvent = true; 
     this.CanPauseAndContinue = true; 
     this.CanShutdown = true; 
     this.CanStop = true; 
    } 

protected override void OnStart(string[] args) 
    { 
     AddToLog("OnStart"); 
     //All the rest of my start up processes 
    } 

public void AddToLog(string audit) 
    { 
      lock (logLocker) 
      { 
       string filePath = _apiPath + "/Logs/" + _parentProcess + ".log"; 
       System.IO.FileInfo file = new System.IO.FileInfo(filePath); 
       file.Directory.Create(); 
       StreamWriter sw = File.AppendText(filePath); 
       sw.WriteLine(System.DateTime.Now.ToString("MM/dd/yyyy hh:mm:ss.fff tt") + " - " + audit); 
       sw.Close(); 

      } 

    } 

어느 쪽도 "서비스 시작은"또는 "ONSTART"로그 기록받을 그리고 그것이 로그 디렉토리에 대한 권한 문제가되지 않습니다 확신합니다.

내 질문은 여기 있습니다. 내 서비스가 시작되지 않게하는 원인을 파악할 수있는 다른 방법이 있습니까?

+0

일반 오류가 무엇입니까? 설치 프로그램이 최소 필수 프레임 워크 버전을 확인합니까? – kmcc049

+0

EventLog.CreateEventSource가 발생하여 로그 할 수 없습니다. 또한 앱이 즉시 충돌하는 경우 로그 구현에 따라 로그가 플러시되지 않을 수 있습니다. – Joe

+0

@ kmcc049 - 필수 프레임 워크가 누락 된 경우 서비스와 함께 설치됩니다. 두 번째 또는 두 번째 오류로 인해 이상한 것처럼 보이는 할당 된 시간에 오류가 발생하는 것입니다. – Brian

답변

관련 문제