計算機用戶端範例

計算機用戶端應用程式是以 Windows Presentation Foundation (WPF) 為基礎的應用程式,您可以用來傳送作業至計算機狀態機器服務或長期的計算機服務。您可以透過不同的通訊協定 (例如,WSHttpContextBinding 或啟用 Cookie 的 WsHttpBinding 繫結) 使用計算機服務。您可以在繫結之間切換,而仍然與相同的工作流程服務執行個體進行通訊。

Bb410782.note(zh-tw,VS.90).gif注意:
要建置和執行這個範例,必須安裝 .NET Framework version 3.5。要開啟專案和方案檔,必須要有 Visual Studio 2008。

您也可以開啟計算機、執行作業,然後停止計算機應用程式而不加以關閉。您可以再開啟計算機,而這個計算機還是會跟之前通訊過的工作流程執行個體進行通訊。內容會儲存在名為 Context.ctx 的檔案中,而這個檔案則是儲存在計算機用戶端應用程式的 \bin 目錄中。若要重新啟動計算機用戶端應用程式,您可以刪除 Client.ctx 檔案。

如需 設定這個範例的詳細資訊,請參閱 Windows Communication Foundation 範例的單次安裝程序

下列程式碼示範 ICalculator 服務合約。

[ServiceContract(Namespace = "http://Microsoft.WorkflowServices.Samples")]
public interface ICalculator
{
    [OperationContract()]
    int PowerOn();
    [OperationContract()]
    int Add(int value);
    [OperationContract()]
    int Subtract(int value);
    [OperationContract()]
    int Multiply(int value);
    [OperationContract()]
    int Divide(int value);
    [OperationContract()]
    void PowerOff();
}  

設定計算機

  1. 請確定已依照狀態機器工作流程服務範例長期服務中的指示,分別將各範例裝載於 Internet Information Services (IIS) 6.0 中。您所安裝的服務會在 %systemdrive%\intetpub\wwwroot\ServiceModelSamples 目錄中產生 Service.svc 和 Web.config 檔案。Service.dll 檔案是位於 %systemdrive%\intetpub\wwwroot\ServiceModelSamples\bin 目錄中。

  2. 下載工作流程服務公用程式,然後加以儲存,但是要將 CalculatorClient 和 WorkflowServiceUtility 資料夾放在相同的父資料夾中。

  3. 請務必正確建立工作流程服務參考。如果它在您開啟方案時尚未定義,請重新建立此參考。您也可以檢視狀態機器工作流程服務或長期計算機服務的 Web 服務描述語言 (WSDL),做法是在瀏覽器中輸入適當的位址,即 https://localhost/ServiceModelSamples/service.svc。若要查看 WSDL,請指向 https://localhost/ServiceModelSamples/service.svc?wsdl。

  4. 計算機用戶端會示範如何與服務通訊而能同時保留狀態,讓服務可以在重新啟動對話時繼續。若要使用計算機,請輸入數字和您要執行的作業。與計算機用戶端通訊的服務會使用上次作業的結果來執行指定的作業。開始時,上次作業的結果為 0。例如,如果您啟動計算機用戶端並輸入數字 2,再輸入加法作業 (+),服務就會將 2 加到上次作業的結果 (在本例中為 0)。計算機隨即顯示結果 (2)。如果您接著輸入 3,再輸入加法作業 (+),則數字 3 會加到上次作業的結果 (2),產生的結果為 5。等號 (=) 會將 0 加到上次作業的結果。在前面的範例中,如果輸入數字 2,然後輸入等號,計算機會將 0 加到上次作業的結果,則結果為 5 並傳回 5。

  5. 如果您結束用戶端後,再將它重新啟動,上次作業的結果就會顯示在計算機上。您可以從那裡繼續往下執行作業。

  6. 第一次呼叫時,計算機用戶端會使用 Client.ctx 文字檔,將內容儲存在永久性的位置上 (在本例中,此位置是在範例的 \bin 目錄裡)。當您重新開啟用戶端時,它會檢查檔案是否存在。如果該文字檔存在,用戶端就會將儲存的內容套用在將要建立的通道。如果工作流程服務已完成,而您開啟用戶端時 Context.ctx 檔案仍在 \bin 目錄中,計算機用戶端會嘗試將內容套用至通道。如果您要與其通訊的工作流程執行個體不存在,這時您就會收到錯誤訊息。請刪除檔案然後再試一次。

Send comments about this topic to Microsoft.
© 2007 Microsoft Corporation. All rights reserved.