C# 콘솔 프로그램이 예약된 작업으로 실행될 때 팩스를 보낼 수 없습니다.

StackOverflow https://stackoverflow.com/questions/37189

  •  09-06-2019
  •  | 
  •  

문제

팩스를 보내는 데 사용하는 C#으로 작성된 콘솔 프로그램이 있습니다.Visual Studio에서 프로그램을 단계별로 진행하면 정상적으로 작동합니다.Windows 탐색기에서 프로그램을 두 번 클릭하면 제대로 작동합니다.프로그램을 실행하기 위해 Windows 예약 작업을 설정하면 이벤트 로그에 이 오류와 함께 실패합니다.

EventType clr20r3, P1 consolefaxtest.exe, P2 1.0.0.0, 
P3 48bb146b, P4 consolefaxtest, P5 1.0.0.0, P6 48bb146b, 
P7 1, P8 80, P9 system.io.filenotfoundexception, 
P10 NIL.

팩스 프로그램을 실행하기 위해 배치 파일을 작성했는데 이 메시지와 함께 실패합니다.

Unhandled Exception: System.IO.FileNotFoundException: Operation failed.
at FAXCOMEXLib.FaxDocumentClass.ConnectedSubmit(FaxServer pFaxServer)

누구든지 나에게 이 행동을 설명할 수 있습니까?

도움이 되었습니까?

해결책

설명할 수는 없지만 몇 가지 아이디어가 있습니다.

대부분의 경우 프로그램이 테스트를 잘 수행하지만 일정을 잡을 때는 그렇지 않은 경우 보안이 중요합니다.귀하의 프로그램은 어떤 사용자를 대상으로 계획됩니까?해당 사용자에게 충분한 액세스 권한이 부여되지 않았을 수 있습니다.

프로그램이 네트워크 드라이브에 액세스하려고 시도하는 리소스가 예약된 작업을 실행하는 사용자가 갖고 있지 않은 리소스입니까?

다른 팁

작업에 대한 올바른 작업 디렉터리를 설정했는지 확인하세요.

예약된 작업이 개발 중인 동일한 컴퓨터에서 실행되고 있습니까, 아니면 전용 OLP 서버에서 실행되고 있습니까?환경을 변경할 때 경로가 변경되는 것은 매우 흔한 일입니다. 보내려는 문서의 경로도 동일합니까?

나는 MartinNH의 의견에 동의합니다.

이러한 문제의 대부분은 Visual Studio에 관리자로 로그인한 상태에서 개발했지만(따라서 프로그램에 실행을 위한 모든 권한이 적절하게 설정되어 있음) 더 낮은 권한을 가진 사용자로 배포한다는 사실에서 비롯됩니다.

작업 스케줄러 사용자의 권한을 더 높게 설정해 보세요.

Vista에서 실행 중인 경우 고도가 방해가 되는 것을 발견할 수 있습니다.제한된 사용자가 아닌 적절한 관리자로 작업이 실행되는지 확인해야 할 수도 있습니다.

예약 작업을 실행할 때 사용자로 실행되도록 할 수 있습니다.예약 작업을 실행하는 사용자가 팩스 리소스에 대해 귀하와 동일한 권한을 가지고 있는지 확인하십시오.이것이 Windows 탐색에서 두 번 클릭하면 실행할 수 있는 이유입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top