2014-06-12 1 views
0

여기 조금 새로운 것입니다. 내가 설치 http://msdn.microsoft.com/en-us/library/zt39148a(v=vs.110).aspx윈도우 서비스가 외부 메소드에 액세스하지 않습니다.

을하고 ... 지금은 이는이 접근에게 (ASMSFetch라는 이름의) 또 다른 C# 프로젝트에서 하나 개의 기능을 시도하고 그것을 완벽하게 ..event 로그 정밀 작업 실행 : 나는 마이크로 소프트 튜토리얼에서 윈도우 서비스를 배우려고 노력하고 있어요

public partial class MyNewService : ServiceBase 
    { 
     public MyNewService() 
     { 
      InitializeComponent(); 

     } 

     protected override void OnStart(string[] args) 
     { 

      ASMSFetch.Program.UpdateSMS(); 
     } 


    } 

서비스 .cs 파일 코드

은 ... 서비스 프로젝트에 참조하고

public class Program 
    { 
     static void Main(string[] args) 
     { 

      UpdateSMS(); 

     } 



     public static void UpdateSMS() 
     { 

      Console.WriteLine("UpdateSMS started"); 
      Console.ReadLine(); 

     } 
ASMSFetch 프로젝트 Program.cs

하지만 컴퓨터 관리 -> 서비스 섹션에서 서비스를 설치하고 실행하면 "UpdateSMS started"메시지가 나타나지 않습니다 ..

나는 그것을 찾으려고 노력했지만 합리적으로 찾을 수 없었다. 어떤 제안이 도움이 될 것입니다 ...

+0

당신이 당신의 서비스가 충돌, 또는 다른 문제가 발생되지 않도록하기 위해 Windows 이벤트 로그를 확인해 봤어? –

+0

예 ... 이벤트 로그가 정상적으로 작동합니다 ... –

답변

0

는 항목 # 4에서 http://msdn.microsoft.com/en-us/library/76477d2t(v=vs.110).aspx

... 여기를 참조하십시오 - 당신은 당신의 서비스를 호출 할 필요가있다. 위 코드가 모두 코드라면, 그 코드가 누락되어 실제로 아무것도 시작하지 않습니다. OS가 서비스를 시작하면 다른 EXE와 마찬가지로 Main() 메소드를 호출한다.

당신은 다음과 같은 라인을 추가 할 필요가

:

System.ServiceProcess.ServiceBase.Run(new MyNewService()); 
관련 문제