문제

이메일에 첨부 될 PDF에 매일 데이터를 컴파일하는 프로세스가 필요합니다. 이미 MSSQL을 사용하여 개발중인 응용 프로그램에서 이메일을 보내 었으며 MSSQL을 이메일 프로세서로 계속 사용하고 싶습니다.

내 연구에서 나는 이것이 Windows 서비스를 만들어 달성 할 수 있음을 발견했다. 그러나 나는이 과정이 하루에 한 번만 실행되기를 정말로 원하기 때문에; 항상 활성화 된 Windows 서비스를 유지하는 것은 과잉 인 것 같습니다.

작업 스케줄러를 사용하여 자체 제작 된 응용 프로그램을 실행 한 적이 없습니다. 나는 그것에 대해 올바른 방법으로 가고 싶다. 내가 이해했듯이, 나는 ...

  1. Visual Studio에서 새 프로젝트 (프로젝트 X) 만들기
  2. PDF를 생성하고 MSSQL과 상호 작용하여 이메일을 보내는 프로그램 (프로젝트 X)
  3. (프로젝트 x)를 exe로 빌드하십시오
  4. 작업 스케줄러를 사용하여 EXE를 예약하여 필요한 일정에 따라 실행하십시오.

내가 걱정해야 할 보안 측면이 있습니까? 내가 생각할 수있는 사람 만 MSSQL 연결 문자열을 암호화하는 것입니다. 물론 웹 앱이 거주하는 웹 액세스 디렉토리에서 EXE를 유지합니다.

도움/확인에 미리 감사드립니다. 일부는 이것이 어리석은 질문이라고 생각할 것입니다.

도움이 되었습니까?

해결책

내가 당신이 고려할 수없는 유일한 것은 작업 스케줄러가 당신의 exe를 실행하는 신원이지만, 그것은 당신이 환경의 모든 것을 어떻게 제어하는지 보는 것을 보는 데 너무 많은 관심사가되어서는 안됩니다.

다른 팁

Esteban이 언급 한 바와 같이 : 이것은 단지 귀하의 계정 아래에서 실행되며 기계에 서명을 유지 하시겠습니까? 그렇다면, 저것 가장 큰 보안 위험입니다. 화면 보호기를 사용하여 로그인 프롬프트를 강제 할 수 있으며 로그 아웃보다 안전하지 않다는 것은 사실입니다. 그러나 이것이 "모범 사례"로 간주 될 것이라고 의심합니다.

나는 단순히 하루에 한 번 깨어나는 Windows 서비스를 구축하는 것을 고려할 것입니다. 그들은 좋은 테스트 메커니즘 (단위 테스트 가능한 DLL로 컴파일하는 독립 클래스는 좋은 아이디어입니다)을 갖기를 원하지만 제작하기가 어렵지 않습니다. . 그러나 서비스 앱의 "미스터리"나 리소스 사용에 대한 아이디어가 당신을 끌어 내도록하지 마십시오. 그들이 얼마나 쉬운 지 놀랄 것입니다. 리소스가가는 한 ... 전체 WinForms 앱을 실행하는 더 많은 리소스를 소비하고 있습니다!

Windows 서비스를 구축하려면 서버가 시작될 때 시작하도록 설정할 수 있습니다 (데이터베이스가 시작됨). 전자 메일을 별도의 데이터베이스로 전송하기위한 외부 추적 시스템이 있습니다. 서버가 시작되면 서비스도 시작됩니다. 서비스 확인 오늘 이메일이 전송되었는지 확인합니다. 그렇지 않은 경우 이메일을 작성하고 이메일을 보내고 로그에 표시하십시오 (내가 가정하는 DB 테이블). 그런 다음 서비스를 24 시간 동안 자고 다시 확인하십시오 (이벤트 사용). 반복하다.

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