2011-08-15 7 views
0

이벤트 스케줄러를 사용하지 않고 asp.net mvc로 이벤트 4 일 전에 미리 알림을 보내야합니다. 나는 이벤트 (Event_Start)의 저장 날짜, 도와 줄 수있어?이벤트 전자 메일 알림 보내기 asp.net mvc

나는 컨트롤러의 클래스 공공 무효 알림()을 만들었습니다,하지만 지금 메신저

답변

0

붙어 그것은 당신이 전화를 스케줄러 서비스를 사용하는 것이 가장/결정된 시간에 "알림"페이지를 참조 . 예 : http://mysite/Reminder/SendEmails/EventId. 당신은 당신의 컨트롤러 내에서 이메일 전송을 처리 할 수 ​​있습니다.

0

Reminder() 메소드는 데이터베이스에서 검색 한 항목에 따라 4 일간의 이벤트에 대한 이메일을 보내는 작업을 수행합니다. System.Net.Mail.SmtpClient 클래스를 사용하여 실제 전자 메일을 보낼 수 있습니다.

큰 문제는 경로를 실행하여 하루에 한 번 실행하는 것입니다. 다른 걱정은 실제 전송에 시간이 걸릴 수 있으며 web.config에서 허용 된 요청 시간을 돌보지 않으면 시간이 초과 될 수 있다는 것입니다.

이러한 유형의 활동의 경우 콘솔 앱을 만들고 서버의 일일 Windows 예약 된 작업을 통해 트리거하는 것이 더 쉬울 수 있습니다.

MVC에서 수행 한 질문에 대한 이전 토론은 Send Email in Background입니다.

+0

나는 System.Net.Mail을 사용하여 전자 메일 클래스를 만들었습니다. – Alss

+0

별도의 서비스 클래스를 만드는 것이 좋습니다. 그런 식으로 콘솔 앱과 같은 대체 구현으로 이동하기로 결정했다면 여전히 재사용 할 수 있습니다. – Turnkey

+0

내 문제는 실제 양식을 데이터베이스에서 전자 메일 세부 정보를 입력하는 것처럼 보내고, 어떤 아이디어를 보내 주시겠습니까? – Alss

0

System.Net.Mail을 사용하여 보내고 보낼 항목을 결정할 수있는 페이지를 만들 수 있습니다. 그런 다음 해당 페이지를 정기적으로 방문하는 간단한 배치 파일을 만듭니다 (일정은 Windows 예약 된 작업을 통해 처리 할 수 ​​있음).

서비스로 실행되거나 예약 된 작업으로 실행될 수있는 무언가를 작성하지 못하게되면 다른 옵션은 캐시 만료를 작업 스케줄러로 사용하는 것입니다. 사람들은 잠시 동안 ASP.NET을 사용하여 이러한 작업을 수행했습니다. 이 기사는 오래된,하지만 여전히 괜찮 작동합니다 : 당신은 트리거 이벤트 확인 기능에 대한 http://quartznet.sourceforge.net/을 사용할 수 있습니다

http://www.codeproject.com/KB/aspnet/ASPNETService.aspx

0

. 이 작업에 대한 Windows 예약 작업은 매우 쉽고 필요하지 않습니다.