成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

ASP.NET工作流的創建與啟動

開發 后端
使用 ASP.NET 中的 Global.asax 文件可以處理與開始和結束 Web 應用程序時引發的各個 Web 會話或事件相關的 Web 窗體事件。本文介紹ASP.NET工作流的創建與啟動。

創建 Windows Workflow Foundation 是為了在不同的宿主應用程序環境中運行。 ASP.NET Web 窗體就是一種這樣的支持環境。 但是,當為 Windows Workflow Foundation 創建基于 Web 的宿主應用程序時,必須設計宿主基礎結構以解決 ASP.NET 應用程序和傳統 Windows 窗體應用程序之間的關鍵體系結構差異。 例如,ASP.NET 應用程序可以同時為多個同步的用戶提供服務。 在這種服務器環境中,應用程序的設計方式必須有效地利用可用的系統內存。 這些情況下,Windows Workflow Foundation 提供卸載工作流實例的 SqlWorkflowPersistenceService 服務。 另外,ASP.NET 在收到請求時會發出響應。 默認情況下,工作流運行時以異步方式執行工作流。 因此,可能會在工作流完成之前呈現頁面和發送響應。 為了避免這種情況,Windows Workflow Foundation 提供 ManualWorkflowSchedulerService 服務以便同步運行工作流。 這使您的 Web 窗體能夠將工作流狀態信息返回給用戶。

ASP.NET工作流的創建:創建 WorkflowRuntime 對象

使用 ASP.NET 中的 Global.asax 文件可以處理與開始和結束 Web 應用程序時引發的各個 Web 會話或事件相關的 Web 窗體事件。 ASP.NET 中的 Session 對象是為每個請求 Web 頁的用戶創建的,Application 對象是在每個會話中共享的單個對象。 下面的示例演示如何處理 Application_Start 事件以創建 WorkflowRuntime 實例和添加 ManualWorkflowSchedulerService。 完成此操作后,通過使用 StartRuntime 方法啟動運行時,您可以將 WorkflowRuntime 實例保存到隨 ASP.NET 一起提供的 Application 對象中。 在以后對應用程序中 Web 頁的請求中,您可以檢索此單個 WorkflowRuntime 實例以啟動工作流。

  1. void Application_Start(object sender, EventArgs e)   
  2. {  
  3.     System.Workflow.Runtime.WorkflowRuntime workflowRuntime =  
  4.         new System.Workflow.Runtime.WorkflowRuntime();  
  5.  
  6.     System.Workflow.Runtime.Hosting.ManualWorkflowSchedulerService manualService =  
  7.         new System.Workflow.Runtime.Hosting.ManualWorkflowSchedulerService();  
  8.     workflowRuntime.AddService(manualService);  
  9.       
  10.     workflowRuntime.StartRuntime();  
  11.  
  12.     Application["WorkflowRuntime"] = workflowRuntime;             
  13. }  
  14.  

當應用程序完成時,ASP.NET 引發 Application_End 事件。 下面的代碼演示如何檢索在 Application_Start 事件期間創建的 WorkflowRuntime 對象,以便調用 StopRuntime 方法。

  1. void Application_End(object sender, EventArgs e)   
  2. {  
  3.     System.Workflow.Runtime.WorkflowRuntime workflowRuntime =  
  4.         Application["WorkflowRuntime"as System.Workflow.Runtime.WorkflowRuntime;  
  5.     workflowRuntime.StopRuntime();  
  6. }  

ASP.NET工作流的啟動:在 ASP.NET Web 窗體中啟動工作流

在上一節中,在 Application_Start 事件期間創建了 WorkflowRuntime 實例。 在 Web 應用程序處理請求時,會一直保留此對象。 下面的代碼演示如何從 ASP.NET 中的 Application 對象中檢索 WorkflowRuntime 實例。 之后,使用 GetService 方法檢索用于啟動工作流的 ManualWorkflowSchedulerService,以便同步運行工作流。 為此,調用在 WorkflowRuntime 類中定義的 CreateWorkflow 方法,隨后調用從 CreateWorkflow 調用中返回的 WorkflowInstance 對象中的 Start 方法。 由于將 ManualWorkflowSchedulerService 添加到了 WorkflowRuntime,因此調用 RunWorkflow 方法,傳遞 WorkflowInstance 對象的 InstanceId。

  1. protected void StartRuntime_Click(object sender, EventArgs e)  
  2. {  
  3.     WorkflowRuntime workflowRuntime = Application["WorkflowRuntime"as WorkflowRuntime;  
  4.     ManualWorkflowSchedulerService manualScheduler =   
  5.         workflowRuntime.GetService(typeof(ManualWorkflowSchedulerService))   
  6.         as ManualWorkflowSchedulerService;  
  7.  
  8.     WorkflowInstance instance = workflowRuntime.CreateWorkflow(  
  9.         typeof(ASPNetSequentialWorkflow));  
  10.     instance.Start();  
  11.     manualScheduler.RunWorkflow(instance.InstanceId);  
  12. }  

以上就介紹了ASP.NET工作流的創建與啟動。

【編輯推薦】

  1. ASP.NET數據庫連接類ClassConn以及oledb數據庫連接方法
  2. ASP.NET數據庫驅動類的實現:DBHelper
  3. 用C#寫的ASP.NET數據庫操作類
  4. ASP.NET數據庫圖片存儲到Sql2000中
  5. ASP.NET自定義錯誤處理頁面的添加
責任編輯:yangsai 來源: MSDN
相關推薦

2009-07-31 17:50:27

ASP.NET工作流

2009-07-31 17:42:33

ASP.NET工作流

2009-07-31 18:00:35

ASP.NET工作流學

2009-07-27 10:22:43

ASP.NET Dro

2009-07-29 17:29:46

ASP與ASP.NET

2009-07-23 14:21:55

ASP.NET頁面

2009-07-29 13:57:53

創建SlideShowASP.NET

2009-11-09 08:53:21

ASP.NET緩存

2009-07-24 15:47:35

ASP.NET與ASP

2024-07-31 08:01:48

2009-12-02 09:07:45

ASP.NET 4.0

2009-07-23 15:18:30

創建XML Web服務ASP.NET

2009-08-04 13:38:36

ASP.NET用戶控件

2009-07-22 17:45:35

ASP.NET教程

2009-08-03 14:22:33

什么是ASP.NET

2009-07-28 17:17:19

ASP.NET概述

2024-12-05 08:14:41

2009-08-03 12:40:46

ASP.NET編程模型

2009-03-03 09:13:36

工作流BPM業務流程

2009-09-18 09:23:21

ASP.NET 4自動啟動
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: www.9191.com| 国产精品午夜电影 | 欧州一区二区三区 | 中文字幕亚洲区 | 久久成人精品视频 | 91影院 | 国产在线观看 | 日韩成人在线播放 | 在线观看视频91 | 欧美在线观看一区 | 久久久av一区 | 国产91在线播放 | 夜夜精品浪潮av一区二区三区 | 粉嫩一区二区三区四区公司1 | 欧美aⅴ| 日韩无 | 国产美女高潮 | 久久久久国产精品 | 中文字幕一区二区三区四区 | 国产福利视频网站 | 九九热精品视频 | 91亚洲一区| av一级毛片 | 北条麻妃一区二区三区在线观看 | 91精品国产色综合久久不卡98口 | 在线91| 日韩视频一区在线观看 | 天天干成人网 | 久久精品国产一区二区电影 | 日本精品免费在线观看 | 伊人伊成久久人综合网站 | 国产高清精品一区二区三区 | 蜜桃视频在线观看免费视频网站www | 欧美精品一区二区三 | 国产欧美一级 | 羞羞涩涩在线观看 | 伊人久久国产 | 中文字幕免费中文 | 91精品国产色综合久久 | 日韩在线免费视频 | 在线观看中文视频 |