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

為什么要有ASP.NET工作流

開發(fā) 后端
人們經(jīng)常要求軟件開發(fā)人員構建可支持長時間運行操作的 Web 應用程序。類似于這樣的需求,導致ASP.NET工作流成為十分有用的技術。本文介紹為什么會有對于工作流解決方案的需求。

介紹ASP.NET工作流的由來

人們經(jīng)常要求軟件開發(fā)人員構建可支持長時間運行操作的 Web 應用程序。在線商店的結賬過程就是一個例子,它只需數(shù)分鐘即可完成。盡管依照某些標準這就是一個長時間運行操作,但我將在本文中探討一個尺度完全不同的長時間運行操作:需持續(xù)數(shù)天、數(shù)周,甚至數(shù)月才可完成的操作。此類操作的一個示例是職位的申請過程,它涉及多人之間的交互以及眾多實際文檔的交換。

首先,我們從 ASP.NET 角度來考慮一個較為良性的問題:您需要為在線商店的結賬操作構建一個解決方案。由于其持續(xù)時間的特殊性,我們需對此解決方案特別考慮一些事項。例如,您可能會選擇在某個 ASP.NET 會話中存儲購物車數(shù)據(jù)。您甚至可以選擇將該會話狀態(tài)移動到進程外狀態(tài)服務器或數(shù)據(jù)庫,以更新站點和負載平衡。即便如此,您會發(fā)現(xiàn)輕松解決此問題所需的全部工具均由 ASP.NET 自身提供。

但如果操作的持續(xù)時間變得比典型的 ASP.NET 會話持續(xù)時間(20 分鐘)更長,或需要多名參與者(就象剛才的聘用示例)時,ASP.NET 不能提供充分的支持。您也許還記得 ASP.NET 工作進程會在空閑時自動關閉并定期自身回收。這會導致長時間運行操作出現(xiàn)嚴重錯誤,因為這些進程中保存的狀態(tài)將會丟失。

設想一下,您將需要在單個進程內部托管這些運行時間超長的操作。顯然,出于上述原因,ASP.NET 工作進程并不適用于它們。因此需要創(chuàng)建一個窗口服務,它的職責就是執(zhí)行這些操作。如果從不重新啟動此服務,將會比直接使用 ASP.NET 更有可能得到解決方案,因為從理論上講,擁有無法自動重新啟動的服務進程可確保不會丟失長時間運行操作的狀態(tài)。

但這樣真的可以解決該問題嗎?很可能不會。如果服務器需要負載平衡該怎么辦?如果思路僅局限于單個進程將會使情況變得非常困難。更糟糕的是,如果需要重新啟動服務器或進程崩潰該怎么辦? 如果這樣將會導致丟失已運行的所有操作。

事實上,當操作需要數(shù)天或數(shù)周才可完成時,您就需要一個獨立于執(zhí)行該操作進程的生命周期的解決方案。通常這是一個不爭的事實,對于 ASP.NET Web 應用程序更是尤為重要。

管理ASP.NET工作流

Windows Workflow Foundation (WF) 可能并不是構建 Web 應用程序時想到的技術。但 WF 提供的多個主要功能讓工作流解決方案有了不同尋常的意義。有了 WF,您就能通過從進程空間中徹底卸載空閑工作流,并在工作流繁忙時自動將它們重新加載到活動進程中,讓長時間運行的操作具備進程獨立性(請參見圖 1)。利用 WF 可以克服 ASP.NET 工作進程不確定生命周期的影響,并為 Web 應用程序內的長時間運行操作做好準備。

 跨進程實例的工作流保留操作

圖 1 跨進程實例的工作流保留操作

WF 組合了兩個主要特性來實現(xiàn)此功能。首先,異步活動在等待外部事件時向工作流運行時發(fā)出工作流空閑的信號。接下來,持久性服務從該進程卸載空閑的工作流,然后將其保存到某個持久存儲位置(如數(shù)據(jù)庫)并在做好再次運行準備時重新加載工作流。

這樣的進程獨立性還有其他的優(yōu)點。它提供了一種簡單的負載平衡方式及持久性——在遇到進程或服務器故障時能實現(xiàn)容錯。

以上就是對ASP.NET工作流的需求及其優(yōu)點的簡單介紹。

【編輯推薦】

  1. 調用ASP.NET工作流:承載及限制
  2. ASP.NET工作流的創(chuàng)建與啟動
  3. ASP.NET數(shù)據(jù)庫連接類ClassConn以及oledb數(shù)據(jù)庫連接方法
  4. ASP.NET數(shù)據(jù)庫驅動類的實現(xiàn):DBHelper
  5. 用C#寫的ASP.NET數(shù)據(jù)庫操作類
責任編輯:yangsai 來源: MSDN
相關推薦

2009-07-31 17:34:40

ASP.NET工作流

2009-07-31 17:42:33

ASP.NET工作流

2009-07-31 18:00:35

ASP.NET工作流學

2021-10-14 11:34:05

技術工作流引擎

2009-08-03 14:22:33

什么是ASP.NET

2021-07-26 18:38:48

Bpmn流程

2009-07-28 17:17:19

ASP.NET概述

2024-07-31 08:01:48

2009-08-03 12:40:46

ASP.NET編程模型

2009-11-09 08:53:21

ASP.NET緩存

2009-07-22 17:45:35

ASP.NET教程

2012-07-23 10:36:46

工作流

2009-07-23 11:33:18

2009-07-23 13:47:28

2009-07-27 12:22:03

ASP.NET和ASPASP.NET入門教程

2009-08-10 13:32:15

ASP.NET TimASP.NET組件設計

2022-12-22 07:44:04

2009-07-29 17:11:25

ASP.NET ISA

2009-07-23 12:22:41

ASP.NET MVC

2013-09-29 17:13:59

PowerShell工作流
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 秋霞在线一区二区 | 精品九九久久 | 久久久国产一区二区三区 | 国产一区在线视频 | 国产精品久久久久久久免费观看 | 久久鲁视频| 亚洲永久 | 国产精品久久久久久久久久久久久 | 自拍偷拍精品 | 欧美一级久久 | 国产午夜精品一区二区三区四区 | 一级片在线观看 | 日韩毛片 | 成年人黄色一级毛片 | 视频一区二区三区四区五区 | 亚洲成人一区二区三区 | 毛片一级片| 国产精品1区2区 | 99精品一区二区 | 欧美日韩在线视频一区二区 | 欧美一区二区三区视频在线播放 | 欧美成人精品在线观看 | 日韩精品一区二区三区中文在线 | 中文字幕中文字幕 | 欧美成人一区二免费视频软件 | 成人一区二区在线 | 日韩中文字幕一区二区 | 91看片在线观看 | 91精品国产一区二区三区蜜臀 | 精品一区在线 | 日韩福利在线 | 久久久国产一区 | 成人一区二区在线 | 日本天天操 | 精品久久久久久久 | 视频在线一区二区 | 精品国产91| 中文字幕1区 | 亚洲日韩中文字幕 | 福利视频一区二区三区 | 国产一区不卡 |