저는 C #과 코딩에 익숙하지 않습니다. 특정 시간에 일주일에 한 번 기본 방법 (예 : 이메일 알림)을 던지는 데 사용할 예제/오픈 소스 타이머 기능을 찾고 있습니다. 약간의 연구를 한 결과 Windows 서비스 대신 Timer를 사용하는 것이 작업량이 매우 적으므로 현명하다는 것을 알았습니다.
CodePlex 및 Code Project에서 커플 타이머 API를 찾았지만 C #에 대한 최소한의 지식으로 인해 예제를 진행하는 데 문제가 있습니다.
내가 사용할 수있는 간단한 타이머에 대해 아는 사람이 있습니까? 아니면 System.Timers를 사용하여이 작업을 수행하는 간단한 방법이 있습니까?
마지막 목표는 매주 월요일 오전 8시에 메서드를 시작하는 타이머를 만드는 것입니다.
편집 : 나는 나의 초기 포스트에서 더 자세히 설명 했어야한다고 믿는다. Windows 작업 스케줄러를 사용하지 않기로 선택한 이유는 호출하는 방법이 Windows 작업을 호출하는 것보다 복잡하기 때문입니다.
타이머가 예약 된 시간에 도달하면 특정 시간 내에 서비스가 필요한 아이템을 DB에 쿼리하는 메소드를 시작합니다. 그러면 해당 항목을 반복하여 이메일에 추가하여 해당 창고 관리자에게 전송합니다.
실수하지 않으면 Windows 작업 스케줄러를 통해 수행 할 수 없습니까?
- 답변 # 1
- 답변 # 2
cron 작업에 Quartz.NET을 사용합니다. Windows 서비스에 액세스 할 수없는 호스팅 된 플랫폼에서도 작동합니다.
당신이 찾고있는 것은 달성하기가 쉽지 않을 것입니다. 튜토리얼에서 첫 번째 예를보십시오.
http://quartznet.sourceforge.net/tutorial/lesson_1.html
- 답변 # 3
연구에 동의하지 않고 Windows 스케줄러가 대신 실행 한 콘솔 응용 프로그램에 배치하려고합니다.
- 답변 # 4
크론 작업이 훨씬 좋은 옵션입니다. 월요일 오전 8시에 웹 사이트가 다운되면 어떻게됩니까? cron을 사용하면 서버가 실행 중이면 요청을 실행할 수 있습니다.
- 답변 # 5
코딩에 익숙하지 않은 가장 쉬운 방법은 응용 프로그램을 만드는 것입니다 (콘솔 기반 c # 응용 프로그램은 최선을 다하고 사용하십시오
와이즈 비즈매주 월요일 오전 8시에 앱을 시작하기 위해 Windows에 내장되어 있습니다.
Task Scheduler
관련 자료
- c# - ActionLink에서 Post 메서드로 Model 속성을 전달하는 방법 (aspnet 코어 사용)?
- c# - ASPNET MVC에서 문자열 목록을받는 POST 메서드를 만드는 방법은 무엇입니까?
- java - 내 메서드 호출에서 타이머가 null로 재설정되지 않는 이유
- c# - aspnet 핵심 API PUT 요청이 메소드에 도달하지 않음
- c# - 액션 메서드에서 액션 메서드를 호출하고 ASPNet Core에서 [FromQuery] 매개 변수를 삽입 할 수 있습니까?
- c# - AJAX를 사용하여 ASPNET의 루트 페이지에있는 웹 메서드를 호출하는 방법
- web - { "success = true, message ="work done "} ASPnet MVC 5를 반환하는 내 작업 메서드
- java - 타이머 작업의 실행 방법이 두 번 실행되고 있습니다
- c# : Gridview.Databind()가 데이터를 새로 고치지 않습니다.
- c#를 사용하여 .Net에서 텍스트 파일 내용을 인쇄하는 방법
- Android Date to C# long DateTime-Ticks
- c# : 깊은 json 자식의 데이터 필터링
- c# : Excel에서 검색할 수 있는 asp.net API를 통해 QR 이미지 제공
- c# : 날짜 형식이 dd-MM-yyyy인 시스템의 ValueToCompare="MM/dd/yyyy"에 대해 CompareValidator가 제대로 작동하지 않습니다.
- c# : Web API에서 진행 상황 반환
- c# : ASP.NET의 DropDownList에서 선택됨을 True로 설정하는 방법
- C#에 SqlCommand 매개변수 추가하기
- c# : ASP.NET에서 DropDownList의 옵션 값을 컨트롤러로 어떻게 반환합니까?
타이머를 사용하는 것은 의미가 없습니다. 당신의 목표는 특정 시간에 기능 발사를하는 것입니다. 서버가 재부팅되면 어떻게됩니까? 타이머가 재부팅 시간과 월요일 오전 8시에 정확한 시간을 계산합니까?
IMO, 콘솔 응용 프로그램 및 Windows 작업 스케줄러를 사용하십시오.
편집 응답: 물론이를 위해 Windows 작업 스케줄러를 사용할 수 있습니다. 스케줄러의 유일한 기능은 작업을 실행하는 것입니다. 실행하는 작업의 복잡성에 대한 규칙은 없습니다. 또한 DB 쿼리 및 이메일 전송은 지나치게 복잡한 작업이 아닙니다. :)