3

我创建了一个类库并确保它继承

DotNetNuke.Services.Scheduling.SchedulerClient

然后覆盖了 DoWork() 子。

然后在 dnn 主机设置 > 调度程序中添加了一个新的调度程序项。

在标记的文本框中:全类名称和程序集:

Namespace.Classname, Dllname

选中启用计划框并添加 5 分钟的运行时间间隔并启用追赶。

还添加了该类使用的表列表。并保留5条历史记录

然后我保存了,

在查看计划状态中,我得到了这个:

Name          |  Next Start              |  OverDue(s)  | Time Remaining
Sub reminder  |  11/12/2010 9:52:02 AM   |  3.5         |  0

在请求模式下使用调度程序。

提前感谢您的帮助。


更新 :

好的,我创建了一个名为“SubRenewal”的新类库项目重命名vb文件Test并将以下内容添加到文件中

Namespce Matts
 Public Class Test
  Inherits Dnn.Services.Scheduling.SchedulerClient
   Public overrides Sub DoWork()
     Me.ScheduleHistoryItem.addLogNote("I ran")
   end Sub
 End Class
End Namespace

在调度程序页面上,我输入:友好名称测试器完整的类名称和程序集 Matts.Test,SubRenwal 已启用是时间流逝 10 秒 Rety 频率 - 在事件上运行无并将其他所有内容留空并保存。调度程序或项目历史记录中仍然没有任何内容。事件查看器中也没有任何内容

4

2 回答 2

2

我建议按照以下步骤开始调度程序的开发和调试:

  • 创建一个新的类库 probject 并在其中添加 dotnetnuke 和相关 dll 的引用
  • 将同一项目的引用添加到您的 dnn 项目中
  • 添加新的 vb 或 c# 文件以实现调度程序
  • 添加代码行以在计划历史记录中创建条目,并且没有其他代码
  • 测试你的调度器
  • 从 dotentnuke 网站主机帐户注册您的新调度程序

请注意,一旦您添加了新的调度程序项目,它将触发调度程序。我希望这能帮到您。我会建议删除您已经拥有的调度程序条目,重置您的网站实例(iis 或 asp.net 开发服务器)并尝试使用上述方法再次添加它

希望对你有帮助

于 2010-11-12T13:25:40.423 回答
2

首先我要感谢 Lakhlan,没有他的帮助,我不会发现错误。

我相信问题是两件事之一,第一件事是我正在注册对另一个自定义模块的引用,以允许我本地化一些输出文本。

我还在下面添加了新的构造函数

Public Sub New(ByVal objSceduleHistoryItem As DotNetNuke.Services.Scheduling.ScheduleHistoryItem)
        MyBase.New()
        Me.ScheduleHistoryItem = objSceduleHistoryItem
    End Sub

再次感谢会为您的帮助投票,但不能:(

于 2010-11-12T16:19:14.753 回答