#asp.net #vb.net #quartz.net
#asp.net #vb.net #quartz.net
Вопрос:
Я до конца следовал руководству Quartz и все еще не уверен, почему он не запускает GetDeal.vb (задание Quartz) в Global.asax. Это так и не вошло в _scheduler.JobGroupNames и _scheduler.TriggerGroupNames выполняет цикл следующим образом:
Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
Dim factory As ISchedulerFactory = New StdSchedulerFactory()
_scheduler = factory.GetScheduler()
_scheduler.Start()
If _scheduler.IsStarted Then
Dim jobs As String = ""
Dim jobGroup As String = ""
For Each jobGroup In _scheduler.JobGroupNames
Dim jobName As String
For Each jobName In _scheduler.GetJobNames(jobGroup)
jobs = jobs " " jobName
Next
Next
jobs = ""
For Each jobGroup In _scheduler.TriggerGroupNames
Dim jobName As String
For Each jobName In _scheduler.GetTriggerNames(jobGroup)
jobs = jobs " " jobName
Next
Next
End If
End Sub
Я прикрепил ссылку для загрузки моего проекта здесь. Есть какие-либо советы о том, как заставить это работать?
— http://www.uniquevolve.com/YouMeCoupon.zip
Ответ №1:
Измените пространство имен вашей работы таким образом: Namespace Jobs
Это полный файл:
Imports Quartz
' Namespace YouMeCoupon.Jobs
Namespace Jobs
Public Class GetDeal : Implements Quartz.IJob
Public Sub Execute(ByVal context As Quartz.JobExecutionContext) Implements Quartz.IJob.Execute
Dim data As JobDataMap = context.MergedJobDataMap
'Dim url As String = data.GetString("URL")
Try
Dim a As String
a = "testing"
Catch ex As Exception
End Try
End Sub
End Class
End Namespace
Я бы посоветовал вам использовать систему ведения журнала для отладки Quartz.net.
У вас должны быть эти ссылки:
Обычный.Ведение журнала.Распространенная библиотека dll.Logging.NLog.dll NLog.dll
Затем вы можете добавить файл конфигурации для NLog (NLog.config)
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
<targets>
<target name="DebugHandler" type="File" filename="${basedir}/_Logs/${date:format=yyyyMMdd}_${level}.Log"
layout="${longdate} ${logger} ${aspnet-session:variable=UserName} ${threadid} ${environment} ${identity} ${aspnet-request} ${message} ${exception}" />
<target name="ErrorHandler" type="File" filename="${basedir}/_Logs/${date:format=yyyyMMdd}_${level}.Log"
layout="${longdate} ${logger} ${aspnet-session:variable=UserName} ${threadid} ${environment} ${aspnet-request} ${message} ${exception}" />
<target name="FatalHandler" type="File" filename="${basedir}/_Logs/${date:format=yyyyMMdd}_${level}.Log"
layout="${longdate} ${logger} ${aspnet-session:variable=UserName} ${threadid} ${environment} ${aspnet-request} ${message} ${exception}" />
<target name="GenericHandler" type="File" filename="${basedir}/_Logs/${date:format=yyyyMMdd}_${level}.Log"
layout="${longdate} ${logger} ${aspnet-session:variable=UserName} ${threadid} ${environment} ${aspnet-request} ${message} ${exception}" />
</targets>
<rules>
<logger name="*" level="Debug" appendTo="DebugHandler" />
<logger name="*" level="Error" appendTo="ErrorHandler" />
<logger name="*" level="Fatal" appendTo="FatalHandler" />
<logger name="*" levels="Info,Warn" appendTo="GenericHandler" />
</rules>
</nlog>
и измените свой web.config, добавив эти разделы:
<sectionGroup name="common">
<section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging"/>
</sectionGroup>
и
<common>
<logging>
<factoryAdapter type="Common.Logging.NLog.NLogLoggerFactoryAdapter, Common.Logging.NLog">
<arg key="configType" value="FILE" />
<arg key="configFile" value="~/NLog.config" />
</factoryAdapter>
</logging>
</common>
Теперь все должно быть отслежено в ваших _LOG (которые вы должны добавить в свой проект). Вам легче понять, что происходит.
Вы можете найти свои обновленные решения с помощью регистрации здесь.
Проверьте также Quartz.net версия. Мне кажется, что вы не используете последний: 1.3.
Комментарии:
1. Изменение пространства имен с YouMeCoupon. Jobs to Jobs выполнили свою работу. Вы, сэр Лефтикс, потрясающий! Спасибо, что показали мне, как выполняется ведение журнала. До этого я понятия не имел, как записывать в журнал. 🙂
2. Ведение журнала очень важно. Вот как я нашел вашу проблему 😉