程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> DNN調度管理解析(二)-----自定義調度任務

DNN調度管理解析(二)-----自定義調度任務

編輯:關於ASP.NET

在前面提到DNN中是可以提供自定義調度服務的,為了在DNN實現自定義調度,開發者需要創建一個類繼承於DotNetNuke.Services.Scheduling.SchedulerClient

(在$DNNNroot/ Providers/Scheduling/子目錄下),而且必須提供一個構造函數和一個DoWork()方法,在構造函數裡你可以設置ScheduleHistoryItem為引入的參數;

而在DoWork()方法裡你需要把你的邏輯代碼包含於Try-Catch捕捉異常代碼塊中。

解析代碼

比如下邊提供的一個調度任務,它實現了將所有的日志文件擱放在一個相應的文件夾裡邊(我們可設置讓該調度程序每天運行一次,而文件夾名稱即為該調度任務執

行的日期),這無疑給龐大的日志文件管理提供極大的方便!其中需要注意的就是DoWork()方法的實現,在這列幾點:

1)Me.Progressing 即是告知調度服務任務正在執行,這在運行長期的調度任務很有用處盡管這是可選的

2)Me.ScheduleHistoryItem.Succeeded = true 即是在任務完成之後需要賦值在此

3)如果你需要增加一些信息到調度服務執行歷史的話,你需要調用AddLogNode()方法

4)必須捕捉錯誤,如果調度服務出現異常的話

代碼實現如下:

一旦這個自定義類被編譯之後,只要在DNN的調度列表添加進去了,該調度服務就可以被執行並實現其調度功能。

注意:上邊程序注釋標有“REQUIRED”的部分為必須實現項,如此該調度程序才能被統一處理和正確執行。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved