Ursidae4518 Ответов: 1

Невозможно запланировать задачи по quartz.net


Вот основная процедура, используемая для планирования задач выхода
Public Sub ScheduleOutput()

    Dim sf As ISchedulerFactory = New StdSchedulerFactory()

    Dim scheduler As IScheduler = sf.GetScheduler()
    scheduler.Start()

    Dim job As IJobDetail = JobBuilder.Create(Of OutputJob)().
                WithIdentity("output", "output").Build()

    Dim trigger As ITrigger = TriggerBuilder.Create().
                WithIdentity("trigger", "trigger").ForJob("output").
                WithSchedule(CronScheduleBuilder.DailyAtHourAndMinute(setHour.Text, setMinute.Text)).
                Build()
    MsgBox("end")

End Sub

и класс работы
Public Class OutputJob
    Implements IJob
    
    Public Sub Execute(context As IJobExecutionContext) Implements IJob.Execute
    
        Output()
    
    End Sub
    
    Public Sub Output()
    
        Dim b = Convert.FromBase64String(HttpContext.Current.Request.Form("encodedhtml"))
        Dim html = System.Text.Encoding.UTF8.GetString(b)
            
        HttpContext.Current.Response.Clear()
        HttpContext.Current.Response.ContentType = "text/html"
        HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=""Dashboard.html""")
        HttpContext.Current.Response.Write(html)
        HttpContext.Current.Response.End()
    
    End Sub
    
End Class

Файл Web.config
<configuration>
  <configSections>
    <sectionGroup name="common">
      <section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />
    </sectionGroup>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  </configSections>
  <common>
    <logging>
      <factoryAdapter type="Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4Net1213">
        <arg key="configType" value="INLINE"/>
        <arg key="configFile" value="~/log4net.config"/>
        <arg key="level" value="INFO" />
      </factoryAdapter>
    </logging>
  </common>
  <log4net>
    <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender">
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%d [%t] %-5p %l - %m%n" />
      </layout>
    </appender>
    <root>
      <level value="INFO" />
      <appender-ref ref="EventLogAppender" />
    </root>
  </log4net>
</configuration>

Когда я пытаюсь запустить код, в нем возникает исключение. Dim sf As ISchedulerFactory = New StdSchedulerFactory()
Цитата:
Исключение типа 'System.TypeInitializationException' произошло в чем-то.dll, но не был обработан в пользовательской информации codeAdditional: инициализатор типа для 'Quartz.Impl.StdSchedulerFactory' вызвал исключение.

Сообщения об исключениях в выходных данных (показаны в нижней части Visual Studio):
Цитата:
Первое случайное исключение типа " Common.Регистрация.ConfigurationException' произошло в общем случае.Logging.dll
Первое случайное исключение типа "система".TypeInitializationException' произошло в something.dll

Как я могу исправить это исключение?
А любые другие части кода, которые могут вызвать ошибки/исключения?

Что я уже пробовал:

Я долго боролся с этим и искал множество решений, но ни одно из них на самом деле не может мне помочь (или просто я не знаю, как изменить его, чтобы соответствовать моему коду), потому что мне действительно не хватает знаний о планировании задач и настройках конфигурации.

Gerry Schmitz

Что такое "something.dll". Похоже, именно в этом и заключается проблема. Он задыхается от "чего-то". Вы знаете, что такое "что-то"? Думаешь, кто-то еще что-то знает?

Ursidae4518

Вы можете предположить, что это просто файл, связанный с содержимым приложения. Он не был ни создан, ни изменен мной, и он даже не включен ни в один из кодов. Я больше беспокоюсь о том, как справиться с общим.ведение журнала и параметры конфигурации для использования Quartz.NET.

1 Ответов

Рейтинг:
0

Vincent Maverick Durano

Цитата:
потому что мне действительно не хватает знаний о планировании задач и настройках конфигурации.


Какая версия кварца.Чистая и ASP.NET вы употребляли? Кварц.У Net есть веб-сайт, который предоставляет исчерпывающую документацию о его использовании здесь: Quartz Enterprise Scheduler .NET | Quartz.NET документация[^]

Просто выберите версию, которую вы использовали, а затем перейдите к соответствующей документации. Если вы новичок в этом, то начните с простого планирования, следуя примеру. Сначала вам нужно проверить, работает ли он, поэтому начните с простого. Как только вы сможете сделать простое планирование работающим, затем начните изменять его в соответствии с вашими потребностями, следуя документации.

Вот отличная статья, на которую вы также можете сослаться, чтобы начать работу: Запланированные задачи в ASP.NET с помощью Quartz.Net[^]


Ursidae4518

Версии о том, что Quartz.NET и еще ASP.NET являются 2.6.2 и 4.8.03761 соответственно (сначала я скачал новейший выпуск Quartz.NET но он казался недоступным с версией ASP.NET/Visual студия, так что я скачал тогда более старую).
Я просмотрел официальную документацию. На самом деле это один из источников, на который я ссылался, когда создавал приведенный выше код. Однако случались исключения и ошибки, так что я понимаю, действительно ли это может вписаться в то, над чем я работаю.