我使用的是asp.net mvc 3和石英調度程序。如何爲控制器創建自己的http上下文?
目前我有這個
- 作業被創建和執行。
- 進入到一個控制器,我映射域與automapper
- 結果查看模型去哪裏控制器我想用 Action Mailer
我得到一個錯誤
System.ArgumentNullException was unhandled by user code
Message=Value cannot be null.
Parameter name: httpContext
Source=System.Web
ParamName=httpContext
StackTrace:
at System.Web.Routing.RequestContext..ctor(HttpContextBase httpContext, RouteData routeData)
at ActionMailer.Net.MailerBase.Email(String viewName, Object model, String masterName)
at EmailController.SendCalendarAppointmentNotifiation(CalendarAppointmentReminderVM vm) in EmailController.cs:line 73
at RemindersController.CalendarAppointmentsReminders(List`1 taskReminders) in RemindersController.cs:line 54
at QuartzJobs.AppointmentRemindersJob.Execute(JobExecutionContext context) in AppointmentRemindersJob.cs:line 39
at Quartz.Core.JobRunShell.Run()
InnerException:
//工作
public void Execute(JobExecutionContext context)
{
// some code to do some checking and to get results above(not shown)
RemindersController remindersController = new RemindersController();
remindersController.CalendarAppointmentsReminders(calendarAppointmentReminders);
}
//控制器(要做映射)\
public void CalendarAppointmentsReminders(List<AppointmentReminder> appointments)
{
List<CalendarAppointmentReminderVM> vm = Mapper.Map<List<CalendarAppointment>, List<CalendarAppointmentReminderVM>>(appointments.Select(x => x.CalendarAppointment).ToList());
Mapper.Map<List<AppointmentReminder>, List<CalendarAppointmentReminderVM>>(appointments, vm);
foreach (var v in vm)
{
new EmailController().SendCalendarAppointmentNotifiation(v);
}
}
// MVC郵件
public EmailResult SendCalendarAppointmentNotifiation(CalendarAppointmentReminderVM vm)
{
To.Add(vm.To);
Subject = String.Format("Subject");
return Email("SendCalendarAppointmentEmail", vm);
}
模具對上return Email("SendCalendarAppointmentEmail", vm);
我想,因爲我用它來發送出我所有的電子郵件使用這一點,我覺得很多更好的方法來發送電子郵件(更容易使它們看起來更漂亮,因爲您可以使用母版頁和強類型視圖)。
您是否正確設置了SMTP設置? – 2011-05-18 19:28:34
@ Brian Driscoll - 安裝到本地文件夾和我所有其他的工作(用戶請求和從我的控制器聯繫,我調用此電子郵件控制器併發送電子郵件...所以httpcontext是爲我第一次打電話給控制器) – chobo2 2011-05-18 19:31:17
這個問題解決了嗎?請提供詳情。謝謝 – Keith 2011-08-06 21:56:34