2011-09-27 6 views
-1

주기적으로 전자 메일 주소 목록을 다운로드하여 전자 메일을 보내는 간단한 서비스를 만들고 싶습니다.C# : Windows 자동 메일 서비스가 작동하지 않습니다.

전자 메일 보내기가 작동하는 경우 서비스를 작성하기 전에 테스트를 시작했습니다. 그렇습니다.

문제는 Main()의 메일 링 메소드를 사용하여 전자 메일을 보내는 동안 시간 제한을 얻지는 않지만 서비스로 코드를 실행하면서 동일한 작업을 시도 할 때 시간 초과 및 예외가 발생한다는 것입니다. (InstallUtil.exe 사용, 내 컴퓨터로 이동/서비스 시작 및 관리)

일부 권한/권한 문제가 있어야하지만 완전히 해결할 방법이 없습니다. 방화벽은 효과가 없습니다. onStart(), onStop() 메서드 또는 서비스가 시작되는 스레드에서 메일 링 메서드를 호출하면 "원격 서버에 연결"할 수 없습니다. 다른 포트와 SMTP 서버를 사용해 보았습니다.하지만 모두 동일합니다. 서비스가 아닌 프로그램에서 코드를 실행하는 한 작동합니다. 나는 LocalSystem, NetworkService itp와 같은 다른 서비스 설정을 시도했다.

Windows 레지스트리를 변경해도 마찬가지입니다. Main()이 실행되거나 서비스 설치 프로그램에서도 읽기/쓰기가 가능하지만 서비스가 사용하려고 할 때는 작동하지 않습니다. .

도와주세요!

답변

1

서비스가 다른 계정으로 실행됩니다. (일반적으로 SERVICE)

귀하의 코드가이를 설명하는지 확인해야합니다. 대화식 모드에서 실행중인 경우 현재 자격 증명으로 실행 중입니다.

모든 예외를 로그 파일에 기록합니까? 서비스에는 사용자 인터페이스가 없기 때문에 오류를 로그 파일이나 이벤트 로그에 기록해야합니다.