成人免费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-23 14:21:55

ASP.NET頁面

2009-11-09 08:53:21

ASP.NET緩存

2009-07-29 17:29:46

ASP與ASP.NET

2009-07-29 13:57:53

創建SlideShowASP.NET

2009-07-24 15:47:35

ASP.NET與ASP

2009-08-03 14:22:33

什么是ASP.NET

2009-07-28 17:17:19

ASP.NET概述

2024-12-05 08:14:41

2024-07-31 08:01:48

2009-12-02 09:07:45

ASP.NET 4.0

2009-08-03 12:40:46

ASP.NET編程模型

2009-08-04 13:38:36

ASP.NET用戶控件

2009-07-23 15:18:30

創建XML Web服務ASP.NET

2009-07-22 17:45:35

ASP.NET教程

2009-09-18 09:23:21

ASP.NET 4自動啟動

2009-03-03 09:13:36

工作流BPM業務流程
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 夜夜精品视频 | 午夜a级理论片915影院 | 亚洲免费在线观看视频 | 国产精品久久一区二区三区 | 亚洲午夜av久久乱码 | 国产精品色 | 亚洲国产高清在线观看 | www.久久久久久久久久久 | 国产亚洲精品美女久久久久久久久久 | 久久久高清 | www.99re| 日韩欧美不卡 | 希岛爱理在线 | 天堂在线免费视频 | 国产精品毛片一区二区三区 | 亚洲情侣视频 | 日本不卡一区二区 | 国产精品成人一区二区三区 | 在线激情视频 | 日本一区二区高清视频 | 日韩欧美在线观看视频 | 国产三级 | 久久福利电影 | 国产欧美视频一区 | 亚洲精品一区二区 | 亚洲第一视频网站 | 国产精品一区二区福利视频 | 国产精品一区二区无线 | 成人免费在线网 | 91精品国产一区二区三区 | 国产999精品久久久久久绿帽 | 国产女人叫床高潮大片免费 | 草久视频 | 91精品国产91久久久久久密臀 | 日韩中文一区二区三区 | 成年人精品视频在线观看 | 久久久久亚洲精品 | 国产欧美一区二区三区另类精品 | 日本久草视频 | 围产精品久久久久久久 | 成人国产精品久久久 |