-1

I Quartz .NET Code jede Minute ausführen und auch Index-Seite nach Ausführung von Code aktualisieren, Quartz adaequat Code aber Fehler auszuführen, während auf Index-Seite (UI) umleiten.Fehler JobRunShell.cs nicht HttpContextWrapper gefunden

komplette Code ist:

Startup.cs

public void Configuration(IAppBuilder app) 
{ 
    ConfigureAuth(app); 

    try 
    { 
     // construct a scheduler factory 
     ISchedulerFactory schedFact = new StdSchedulerFactory(); 

     // get a scheduler 
     IScheduler sched = schedFact.GetScheduler(); 
     sched.Start(); 

     // define the job and tie it to our HelloJob class 
     IJobDetail job = JobBuilder.Create<NotificationJob>() 
      .WithIdentity("myJob", "group1") 
      .Build(); 

     // Trigger the job to run now, and then every 60 seconds 
     ITrigger trigger = TriggerBuilder.Create() 
      .WithIdentity("myTrigger", "group1") 
      .StartNow() 
      .WithSimpleSchedule(x => x 
       .WithIntervalInSeconds(60) 
       .RepeatForever()) 
      .Build(); 

     sched.ScheduleJob(job, trigger); 
    } 
    catch (ArgumentException e) { } 
} 

NotificationJob.cs

public class NotificationJob : IJob 
{ 
    public void Execute(IJobExecutionContext Context) 
    { 
     // Code execution logic here... 

     // Redirect to Index page 
     var context = new RequestContext(new HttpContextWrapper(System.Web.HttpContext.Current), new RouteData()); 
     var urlHelper = new UrlHelper(context); 
     var url = urlHelper.Action("Index", "Home"); 
     System.Web.HttpContext.Current.Response.Redirect(url); 
    } 
} 

Fehler bei new HttpContextWrapper auftritt. Jede Hilfe wird geschätzt.

+0

Haben Sie Nuget verwenden Quarz zu verweisen? –

+0

Ja @ S.Dav Ich verwende Nuget Quarz zu verweisen. – Shri

+0

Quarz 2.x oder 3? – Rabban

Antwort

0

Quarz-Jobs haben keine Möglichkeit, Httpcontext zuzugreifen. Sie arbeiten außerhalb von HttpContext in separaten Threads.