廣州暨華電腦學校
咨詢熱線:020-85566216

誠        毅        精      勤

當前位置:所在位置: 廣州電腦培訓 >> 電腦技術 >> net >> 正文

調用ASP.NET工作流:承載及限制

發布時間:2018/2/28 17:31:31 內容來源::廣州暨華電腦學校 點擊:

  Windows Workflow Foundation 框架支持 Web 服務互操作性。 該框架能夠將工作流作為 Web 服務公開給 ASP.NET 客戶端和其他工作流。 Windows Workflow Foundation 支持將工作流作為 ASP.NET Web 服務發布到在 Internet 信息服務 (IIS) 6.0 上運行 ASP.NET 的 Web 服務器或服務器場。 因為 Windows Workflow Foundation Web 服務支持以 ASP.NET 2.0 為基礎,所以它繼承了標準 ASP.NET Web 服務的大部分功能。

  Windows Workflow Foundation 基本活動庫包含 WebServiceInputActivity 和 WebServiceOutputActivity 活動,這些活動允許將工作流用作 Web 服務終結點。 有關使用這些 Web 服務活動的信息,請參見 使用 WebServiceInputActivity 活動和 使用 WebServiceOutputActivity 活動。

  ASP.NET工作流 Web 承載

  用于工作流 Web 承載的主要類包括:

  WorkflowWebHostingModule

  ManualWorkflowSchedulerService

  WorkflowWebHostingModule

  WorkflowWebHostingModule 類是默認的路由機制,用于通過使用 ASP.NET Cookie 將 Web 服務請求路由到相應的工作流。 當然,發出這些請求的客戶端必須支持 Cookie。

  雖然 Windows Workflow Foundation 提供此默認路由機制,但您可以實現自己的自定義路由機制。 例如,當不能在客戶端中啟用 Cookie 時,可以配置客戶端創建具有特定 Id 的工作流實例,并在每個 Web 服務請求中傳遞該 Id。 可以使用 SOAP 或 HTTP 處理程序配置請求管線以截獲調用,從標頭信息中檢索工作流實例 Id,然后將 HttpContext.Current.Items.Add("__WorkflowInstanceId__", workflowInstanceId) 設置為傳入的 Id。

  ManualWorkflowSchedulerService

  ManualWorkflowSchedulerService 類是 WorkflowSchedulerService 的一個專用實現,它通過重用一個線程(該線程發出 ASP.NET Web 請求以運行工作流實例),對 ASP.NET 進程中生成的線程數進行控制。 這確保了工作流運行時中的活動線程數在任意時候都等于 ASP.NET 進程中的活動 Web 請求數。

  公開為 Web 服務的ASP.NET工作流的限制

  實例路由在 ASP.NET 會話的基礎上工作。 作為 Web 服務的使用者,它需要支持 ASP.NET Cookie。

  即使可以將“接收請求-發送響應”建模為工作流中的異步操作,ASP.NET 的常規限制仍適用于 Web 服務的使用者,即實例不能在未處理的請求-響應操作之間遷移進程。

  啟用 Cookie 以調用ASP.NET工作流 Web 服務

  工作流 Web 服務使用 Cookie 跟蹤狀態。 如果將工作流發布為 Web 服務,則必須在調用它的客戶端代碼中啟用 Cookie。 例如:

  CalculatorWorkflow_WebService service = new CalculatorWorkflow_WebService();

  service.CookieContainer = new System.Net.CookieContainer();

  這使您可以對“service”對象進行方法調用。

  • 上一篇電腦技術:
  • 下一篇電腦技術:
  • 學校簡介 |專業課程 | 學生就業 | 參觀學校

    學校地址:廣州天河區五山路金華園區C座3樓307(華南理工大學南門旁)

    學校名稱:廣州暨華電腦培訓學校 聯系電話:020-85566215

    2002-2019 廣州青大教育信息咨詢有限公司 版權所有 備案/許可證編號為:粵ICP備11083420號-11

    今天30选5开奖公告