C# 找不到JobRunShell.cs

C# 找不到JobRunShell.cs,c#,asp.net-mvc,quartz-scheduler,C#,Asp.net Mvc,Quartz Scheduler,我正在使用Quartz.Net来安排作业。请看我的密码。为什么会发生这种错误 我需要在数据库中注册数据 错误: 我正在使用此代码注册数据: public class NewsSchedule : INewsSchedule { public void Run(int minute) { DateTimeOffset startTime = DateBuilder.FutureDate(2, IntervalUnit.Second); IJobD

我正在使用Quartz.Net来安排作业。请看我的密码。为什么会发生这种错误

我需要在数据库中注册数据

错误:

我正在使用此代码注册数据:

public class NewsSchedule : INewsSchedule
{
    public void Run(int minute)
    {
        DateTimeOffset startTime = DateBuilder.FutureDate(2, IntervalUnit.Second);

        IJobDetail job = JobBuilder.Create<NewsJob>()
                                   .WithIdentity("newsJob")
                                   .Build();

        ITrigger trigger = TriggerBuilder.Create()
                                         .WithIdentity("trigger1")
                                         .StartAt(startTime)
                                         .WithSimpleSchedule(x => x.WithIntervalInSeconds(60).RepeatForever())
                                         .Build();

        ISchedulerFactory sf = new StdSchedulerFactory();
        IScheduler sc = sf.GetScheduler();
        sc.ScheduleJob(job, trigger);

        sc.Start();
    }
}
public interface INewsSchedule
{
    void Run(int minute);
}
public class NewsJob : IJob
{
    public void Execute(IJobExecutionContext context)
    {
        var sqlConnection = new SqlConnection("Data Source=.;Initial Catalog=NewsApk;Integrated Security=SSPI;");
        sqlConnection.Open();
        var sqlCommand = new SqlCommand("Insert into JN_NewsCategories(NewsCategoriesFr,NewsCategoriesEn,IsGetNews)Values(@1,@2,@3)");
        sqlCommand.Parameters.AddWithValue("@1", "test");
        sqlCommand.Parameters.AddWithValue("@2", "test2");
        sqlCommand.Parameters.AddWithValue("@3", false);
        sqlCommand.ExecuteNonQuery();
        sqlConnection.Close();
    }
}

谢谢@K.B.我发现了错误。“Message=“ExecuteNonQuery:Connection属性尚未初始化。”。为什么会发生此错误?

这不是一个问题,它表明他无法找到用于Quartz的pdb来解决此问题。您有两个选择:

  • 下载项目的源代码并参考它
  • 或者从菜单->工具->选项->调试->常规,并确保选中了“仅启用我的代码”
  • 我找到了答案

    替换此项:

     var sqlCommand = new SqlCommand("Insert into JN_NewsCategories(NewsCategoriesFa,NewsCategoriesEn,IsGetNews)Values(@1,@2,@3)");
    
    为此:

     var sqlCommand = new SqlCommand("Insert into JN_NewsCategories(NewsCategoriesFa,NewsCategoriesEn,IsGetNews)Values(@1,@2,@3)",sqlConnection);
    

    此问题是由于您的数据库连接或与数据库相关的内容造成的,
    与Quartz无关。

    我只检查了我的代码。没有区别。谢谢。我发现错误。“Message=“ExecuteNonQuery:Connection属性尚未初始化。”。为什么会发生这种错误?
     var sqlCommand = new SqlCommand("Insert into JN_NewsCategories(NewsCategoriesFa,NewsCategoriesEn,IsGetNews)Values(@1,@2,@3)",sqlConnection);