diff --git a/docs/framework/windows-workflow-foundation/samples/absolute-delay.md b/docs/framework/windows-workflow-foundation/samples/absolute-delay.md deleted file mode 100644 index 9f2bfe86ab4..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/absolute-delay.md +++ /dev/null @@ -1,72 +0,0 @@ ---- -title: 絶対遅延 -ms.date: 03/30/2017 -ms.assetid: b483139a-39bb-4560-8003-8969a8fc2cd1 -ms.openlocfilehash: 30719a4340b738a7462584c4dca00f6d5d90ac72 -ms.sourcegitcommit: efff8f331fd9467f093f8ab8d23a203d6ecb5b60 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/03/2018 -ms.locfileid: "43486103" ---- -# 絶対遅延 -このサンプルの主要なシナリオは、ワークフロー アプリケーションで永続的なタイマーを使用して、指定した まで遅延することです。 これは、特定の (または分数/秒数) の遅延のみ行うことができるため、組み込みの アクティビティの使用とは異なります。 - - この区別を行う現実のシナリオとして、次のようなものがあります。 - -1. メールの送信を 30 秒遅延させて、誤りがないことを確認します。 - -2. 時間外に作業し、通常の営業時間 (午前 8 時など) まですべてのメールを遅延させます。 - -## 使用例 - -1. 絶対遅延を実装するための - -2. 永続的なタイマーに を使用した永続性の設定 - -3. 拡張ポイントを使用するための の使用 - -4. SendEmail アクティビティでの の使用 - -5. - -6. XAML のみのワークフロー - - このサンプルでは、 を取得するカスタム アクティビティの作成方法と、永続的なタイマーを使用して遅延期間を登録する方法を示します。 永続的なタイマーを使用している場合は、 を使用してブックマークを作成する必要があります。このブックマークをタイマー拡張に登録する必要があります。 このサンプルでは、永続的なタイマーが時間切れになると、`OnTimerExpired` メソッドが呼び出されます。 タイマー拡張を イベントに追加して、この情報がランタイムに確実に提供されるようにします。 永続的なタイマーは のみを取得するため、その他の実装詳細として挙げられるものは、 から に変換するためのロジックを実装する必要があることのみです。 次の操作を行うことで、精度に小さな逸脱があることに注意します。 - -> [!NOTE] -> から への変換により、精度が若干低下します。 - - このサンプルは、 の永続性をオンにする方法も示しています。 このサンプルでは、タイマーの時間切れを待機している間のアイドル時間中にワークフロー データが永続性データベースにアンロードされる永続的なタイマーを使用します。 この実装は、他の永続性アクションにも使用できます。 このサンプルは、SQL Server で永続性接続文字列を設定する方法、およびワークフロー インスタンスのデータを永続化するためにインスタンス ストアを作成する方法を示しています。 ワークフロー インスタンスを実行可能にするイベントが発生した後でワークフローを再開する方法に関するロジックも提供されています。 - - このサンプルをステップ実行するようにする組み込みの遅延の開始し、終了がさらに、時間がかかると送信される電子メール メッセージが表示されます。 ここから、AbsoluteDelay アクティビティは指定した まで (または を経過している場合は 0 秒間) 停止します。時間切れになると、電子メールが送信されます。 これは、組み込みの 機能と AbsoluteDelay アクティビティの使用の 2 つの異なるユース ケースを示します。 - -#### サンプルをセットアップ、ビルド、および実行するには - -1. SQL Server Express (またはそれ以降) がコンピューターにインストールされていることを確認します。 - -2. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] コマンド プロンプトで setup.cmd (WF/Basic/Services/AbsoluteDelay/CS にあります) を実行して AbsoluteDelaySampleDB データベースを作成し、永続性スキーマと永続性ロジックを作成します。 - -3. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] で、ソリューションを開きます。 - -4. Delay アクティビティに Duration を指定します。 - -5. AbsoluteDelay アクティビティに ExpirationTime を指定します。 - -6. SendMail アクティビティの SendMailTo、SendMailFrom、SendMailSubject、SendMailBody、SmtpHost の各フィールドを更新します。 - - > [!NOTE] - > 有効な SMTP ホストを入力しない場合は、アプリケーションで SMTP 例外がスローされます。 - -7. 選択すると、ソリューションをビルド**ビルド**、**ソリューションのビルド**します。 - -8. キーを押して、ソリューションの実行**F5**します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Services\AbsoluteDelay` diff --git a/docs/framework/windows-workflow-foundation/samples/activity-relationships-validation.md b/docs/framework/windows-workflow-foundation/samples/activity-relationships-validation.md deleted file mode 100644 index a4a4926b535..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/activity-relationships-validation.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -title: アクティビティの関係の検証 -ms.date: 03/30/2017 -ms.assetid: 6f11a34e-ed67-4bce-88ce-7e96bbb4d052 -ms.openlocfilehash: 50f08118fb5ad4d9b8fe809e7ab3cc5d57f28149 -ms.sourcegitcommit: c7f3e2e9d6ead6cc3acd0d66b10a251d0c66e59d -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/08/2018 -ms.locfileid: "44193667" ---- -# アクティビティの関係の検証 -このサンプルには 3 つのアクティビティ `CreateCity`、`CreateState`、および `CreateCountry` が含まれます。 `CreateCity` は `CreateState` アクティビティ内にあり、`CreateState` は `CreateCountry` アクティビティ内にある必要があります。 このサンプルの目的から、検証ロジックは、`CreateState` アクティビティについてはコードで記述され、`CreateCity` アクティビティについては XAML で記述されます。 制約の動作は両方とも同じです。 - - [!INCLUDE[netfx_current_long](../../../../includes/netfx-current-long-md.md)] には、アクティビティ間の関係を検証するために使用できる次の 3 つのヘルパー アクティビティが用意されています。 - - - 現在のノードの親に属しているすべてのアクティビティのコレクションを提供します。 - - - 現在のノードのサブツリーに属しているすべてのアクティビティのコレクションを提供します (現在のノードを除く)。 - - - 現在のノードと同じツリーにあるすべてのアクティビティのコレクションを提供します。 - - このサンプルでは、 アクティビティを使用して、 から返されたコレクション内のすべての要素を処理します。 コレクション内の要素ごとに、その型が `CreateCountry` (`CreateState` を検証する場合は `CreateCity`) と比較され、一致が見つかると、結果フラグが `true` に設定されます。 最後に、結果フラグが に設定される場合は、`false` を使用して検証エラーが生成されます。 - -### このサンプルを使用するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] で ContainmentValidation.sln サンプル ソリューションを開きます。 - -2. ソリューションをビルドします。 - -3. Ctrl キーを押しながら F5 キーを押して、プログラムを起動します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Validation\ActivityRelationships` diff --git a/docs/framework/windows-workflow-foundation/samples/advanced-policy.md b/docs/framework/windows-workflow-foundation/samples/advanced-policy.md deleted file mode 100644 index 6fda45f383c..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/advanced-policy.md +++ /dev/null @@ -1,83 +0,0 @@ ---- -title: 高度なポリシー -ms.date: 03/30/2017 -ms.assetid: 75a22c88-5e54-4ae8-84cb-fbb22a612f0a -ms.openlocfilehash: becdc28affd877239474d6f0f007a480297bccb8 -ms.sourcegitcommit: 64f4baed249341e5bf64d1385bf48e3f2e1a0211 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/07/2018 -ms.locfileid: "44083791" ---- -# 高度なポリシー -このサンプルは、単純なポリシーのサンプルを拡張するものです。 単純なポリシーのサンプルに含まれる個人向け割引ルールとビジネス割引ルールの他に、新しいルールがいくつか追加されています。 - - 高額な注文に対する割引額を大きく設定する、高額ルールが追加されています。 このルールの優先順位の値は前の 2 つのルールより小さいので、割引フィールドを上書きし、個人向けおよびビジネス向けの割引ルールより優先されます。 - - 割引レベルに基づいて合計額を計算する、合計の計算ルールも追加されています。 ワークフロー アクティビティに定義されたメソッドの参照方法と、他のアクションの使用方法を示します。 また、このルールは、割引フィールドが変更されるたびに評価されるため、チェーン動作についても示します。 さらに、メソッドに対する属性の適用についても、CalculateTotal メソッドに RuleWriteAttribute 属性を適用する例で示します。 これにより、メソッドが実行されるたびに、影響を受けるルール (ErrorTotalRule) が再評価されます。 - - 追加されている最後のルールは、エラーを検出します (ここでは、合計が 0 未満)。 エラーが検出されると、ポリシーの実行は停止されます。 - - 最後に、`Console.Writeline` 呼び出しがアクションとして各ルールに追加されています。これは、ルール実行についての詳細を表示できるようにするためで、また、参照型の静的メソッドにアクセスできることも示します。 追跡を使用して、実行されるルールの詳細を表示することもできます。 - - このサンプルで使用されているルールを次に示します。 - - **ResidentialDiscountRule:** - - IF OrderValue > 500 AND CustomerType = Residential - - THEN Discount = 5% - - **BusinessDiscountRule:** - - IF OrderValue > 10000 AND CustomerType = Business - - THEN Discount = 10% - - **HighValueDiscountRule:** - - IF OrderValue > 20000 - - THEN Discount = 15% - - **TotalRule:** - - IF Discount > 0 - - THEN CalculateTotal(OrderValue, Discount) - - ELSE Total = OrderValue - - **ErrorTotalRule:** - - IF 合計\<0 - - THEN Error = "Fired ErrorTotalRule"; Halt - - ルールの評価と実行は、トレースと追跡で確認することもできます。 - -### サンプルをビルドするには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] で、ソリューションを開きます。 - -2. Ctrl キーと Shift キーを押しながら B キーを押して、ソリューションをビルドします。 - -3. Ctrl キーを押しながら F5 キーを押して、ソリューションをデバッグなしで実行します。 - -### サンプルを実行するには - -- [SDK コマンド プロンプト] ウィンドウで、AdvancedPolicy\bin\debug フォルダー (Visual Basic バージョンのサンプルの場合は AdvancedPolicy\bin フォルダー) にある .exe ファイルを実行します。このフォルダーは、サンプルのメイン フォルダーの下に作成されます。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Rules\Policy\AdvancedPolicy` - -## 関連項目 - - - [簡単なポリシー](../../../../docs/framework/windows-workflow-foundation/samples/simple-policy.md) diff --git a/docs/framework/windows-workflow-foundation/samples/auto-confirm-pattern.md b/docs/framework/windows-workflow-foundation/samples/auto-confirm-pattern.md deleted file mode 100644 index 89c2b947da8..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/auto-confirm-pattern.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -title: 自動確認パターン -ms.date: 03/30/2017 -ms.assetid: 668aec65-78d3-4636-9c7b-deed643a18f9 -ms.openlocfilehash: a032c05743b64fe58b0b187328b5216080ba6e19 -ms.sourcegitcommit: a885cc8c3e444ca6471348893d5373c6e9e49a47 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/06/2018 -ms.locfileid: "43864056" ---- -# 自動確認パターン -このサンプルは、カスタム `AutoConfirmScope` アクティビティを示す 3 つのシナリオで構成されます。 1 つ目のサンプルでは、2 番目と 3 番目の補正可能なアクティビティが `AutoConfirmScope` で入れ子になっている 4 つの補正可能なアクティビティのシーケンスが正常に実行された場合を示します。 2 つ目のサンプルでは、同じシーケンスを示しますが、4 番目の の実行後に例外が発生します。 3 つ目のシナリオでは、同じシーケンスを示しますが、2 番目の `AutoConfirmScope` の完了後に で例外が発生します。 - - このサンプルでは、スコープが正常に完了したときにすべての補正可能な子アクティビティが確認される自動確認パターンを示します。 このパターンでは、すべての補正可能な子アクティビティの有効期間が定義され、この期間を過ぎるとこれらのアクティビティは補正または確認できなくなります。 - - スコープは、 が内部 である で構成されます。 `AutoConfirmScope` のユーザー指定の本文は、内部 の本文です。 この内部 が完了すると、 が out 引数として生成されます。 `AutoConfirmScope` は、 を使用してトークンが生成されているかどうかをチェックし、生成されている場合は内部 を確認します。 内部 は、本文に存在する補正可能なアクティビティの既定の補正を呼び出します。 - - 1 つ目のシナリオでは、ワークフローが正常に実行された場合を示します。ワークフローが完了して 1 番目と 4 番目の補正可能なアクティビティが確認されるときには、2 番目と 3 番目の補正可能なアクティビティは既に確認されています。 ここでは、確認順序は 3、2、4、1 となります。 - - 2 つ目のシナリオでは、4 つの補正可能なアクティビティの完了後に例外が発生した場合を示します。 補正可能なアクティビティ 2 および 3 は既に確認されているので影響を受けませんが、1 および 4 は補正されます。 ここでは、3 が確認され、2 が確認され、4 が補正されて 1 が補正されます。 - - 最後のシナリオでは、`AutoConfirmScope` が正常に実行されなかった場合を示します。 このシナリオでは、2 番目の の完了後に例外が発生します。 3 番目と 4 番目の補正可能なアクティビティは実行されていないので影響を受けません。 スコープが正常に完了しなかったので、2 番目の は確認されません。 ここでは、補正順序は 2、1 となります。 - -#### このサンプルを使用するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] を使用して、AutoConfirmSample.sln ソリューション ファイルを開きます。 - -2. ソリューションをビルドするには、Ctrl キーと Shift キーを押しながら B キーを押します。 - -3. ソリューションを実行するには、Ctrl キーを押しながら F5 キーを押します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Scenario\Compensation\AutoConfirm` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/basic-activity-composition.md b/docs/framework/windows-workflow-foundation/samples/basic-activity-composition.md deleted file mode 100644 index afeb6622258..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/basic-activity-composition.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -title: 基本的なアクティビティの構成 -ms.date: 03/30/2017 -ms.assetid: c283a1a7-1245-4ecd-8072-206c1b4ca379 -ms.openlocfilehash: ade8187ca44a8182b55cf0f01e5bfe5a9a747255 -ms.sourcegitcommit: 2eceb05f1a5bb261291a1f6a91c5153727ac1c19 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/04/2018 -ms.locfileid: "43518377" ---- -# 基本的なアクティビティの構成 -このサンプルでは、カスタム アクティビティとシステム標準アクティビティを作成して、追加のカスタム アクティビティを構築する方法を示します。 - - Survey アクティビティを使用するこのワークフローでは、質問のリストと共に Survey をスケジュールし、受け取った回答を出力します。 - -## サンプルの詳細 - このサンプルでは、次の 3 つのカスタム アクティビティを使用します。 `ReadLine` 単純な\<文字列 > を作成する、スケジュールし、設定時に、 `Return` する値をが再開されます。 `Prompt` \<文字列 > を受け取る、 < 文字列\>という`Text`し、ユーザーに応答を返します、 `Result` \<文字列 >。 `Prompt` アクティビティは、.NET Framework に付属する アクティビティと アクティビティを使用します。また、ユーザー入力を取得するためにカスタムの `ReadLine` アクティビティも組み込まれています。 最後のカスタム アクティビティは `Survey` アクティビティです。 < ICollection\<文字列 >> します。 このアクティビティは、取得、 < IEnumerable < 文字列\>> という名前`Questions`し設定します、 `Result` out 引数に回答します。 `Survey` アクティビティは、.NET Framework の 、および を使用し、調査の質問をして回答を得るために `Prompt` アクティビティも使用します。 - -#### サンプルをセットアップ、ビルド、および実行するには - -1. 開く、 **BasicActivityComposition.sln**サンプル ソリューション[!INCLUDE[vs2010](../../../../includes/vs2010-md.md)]します。 - -2. ソリューションをビルドして実行します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\CustomActivities\Composite\ActivityComposition` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/basic-transactionscope.md b/docs/framework/windows-workflow-foundation/samples/basic-transactionscope.md deleted file mode 100644 index 6c0a2980ccf..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/basic-transactionscope.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: 基本 TransactionScope -ms.date: 03/30/2017 -ms.assetid: 1e22b76a-76de-43b4-9be7-7a86ed3d5a44 -ms.openlocfilehash: b3c673040d40ca91d8ab4a79e847d61e6f507ed1 -ms.sourcegitcommit: efff8f331fd9467f093f8ab8d23a203d6ecb5b60 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/01/2018 -ms.locfileid: "43415424" ---- -# 基本 TransactionScope -このサンプルは、 インスタンスを入れ子にする方法を示す 4 つのシナリオで構成されています。 1 つ目のシナリオは、作成者には構造がわからないサードパーティのアクティビティを入れ子にする方法を示しています。 2 つ目と 3 つ目のシナリオは、タイムアウトがどのように機能するかを示しています。4 つ目のシナリオは、 の設定を示しています。 - -## TransactionScopeActivity の入れ子 - 1 つ目のシナリオのワークフローは、2 つの アクティビティと 1 つの のシーケンスで構成されています。 の本体は、2 つの アクティビティ、トランザクションのローカル識別子を出力するカスタム アクティビティ、およびサードパーティのアクティビティのシーケンスです。 サードパーティのアクティビティである `TransactionScopeTest` には が含まれていますが、ワークフローの作成者にはわかりません。 このシナリオは、 アクティビティを入れ子にできることを示しています。 - -## タイムアウト - 2 つ目のシナリオのワークフローは 1 つ目のシナリオとほとんど同じですが、 `TransactionScopeTest` が に置き換えられています。 この の本体は 5 秒の遅延で、トランザクションのタイムアウトは 2 秒に設定されています。 外側の のタイムアウトは 10 秒に設定されています。 スコープで最も小さいタイムアウト値が適用されるため、トランザクションがタイムアウトします。 - - 3 つ目のシナリオのワークフローは 2 つ目のシナリオとほとんど同じですが、 遅延アクティビティが内側の の本体からその直後 (外側の の本体) に移動されています。 この場合もトランザクションがタイムアウトしますが、内側の の 2 秒のタイムアウトはもう適用されないため、 トランザクションは 10 秒後 (外側の のタイムアウト期間が経過したとき) にタイムアウトします。 - -## トランザクション エラーによる中止 - このワークフローは 3 つ目のシナリオに似ていますが、タイムアウトが プロパティに置き換えられています。 内側にあるすべての子は、フラグが設定されている場合、フラグが外側の と一致している必要がありますが、 このシナリオでは一致していないため、ワークフローを開くと例外がスローされます。 - -#### サンプルを実行するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] で BasicTransactionScopeSample.sln ソリューションを開きます。 - -2. ソリューションをビルドするには、CTRL + SHIFT + B キーを押しますまたは選択**ソリューションのビルド**から、**ビルド**メニュー。 - -3. F5 キーを押して、ビルドが成功した後、または選択**デバッグの開始**から、**デバッグ**メニュー。 または CTRL + f5 キーを押してまたは選択**デバッグなしで開始**から、**デバッグ**] メニューの [デバッグなしで実行します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Transactions\BasicTransactionScope` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/basic-usage-of-sendparameters-and-receiveparameters-activities.md b/docs/framework/windows-workflow-foundation/samples/basic-usage-of-sendparameters-and-receiveparameters-activities.md deleted file mode 100644 index 48d15240570..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/basic-usage-of-sendparameters-and-receiveparameters-activities.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: SendParameters および ReceiveParameters アクティビティの基本的な使用方法 -ms.date: 03/30/2017 -ms.assetid: 1b6b1681-3d41-403f-bfe2-3f600f24aa8c -ms.openlocfilehash: c13999ad1571a6413e30e801b6c642000f8e4654 -ms.sourcegitcommit: 2eceb05f1a5bb261291a1f6a91c5153727ac1c19 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/04/2018 -ms.locfileid: "43504009" ---- -# SendParameters および ReceiveParameters アクティビティの基本的な使用方法 -このサンプルでは、 アクティビティと アクティビティの使用方法を示します。 このサービスは、文字列引数を取得して、クライアントに入力を再度エコーするという 1 つの操作を公開します。 このサンプルで示すのは、これらのメッセージング アクティビティのパラメーターを設定する方法です。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Services\SendReceiveParameters` - -#### このサンプルの使用 - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] でプロジェクト ソリューションを読み込み、プロジェクトをビルドします。 - -2. 最初に、[ソリューションの基本ディレクトリ]\EchoWorkflowService\bin\debug に生成された EchoWorkflowService アプリケーションを実行します。 - -3. 2 番目に、[ソリューションの基本ディレクトリ]\EchoWorkflowClient\bin\debug に生成された EchoWorkflowClient アプリケーションを実行します。 - -4. クライアントは、サービスで Echo 操作を呼び出し、結果を出力します。 完了したら、Enter キーを押してクライアントを終了し、サービスを終了します。 \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/basic-validation.md b/docs/framework/windows-workflow-foundation/samples/basic-validation.md deleted file mode 100644 index ff61b72d35c..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/basic-validation.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -title: 基本検証 -ms.date: 03/30/2017 -ms.assetid: ba1343cc-aaab-4ade-b0c0-1dd5063bf4ad -ms.openlocfilehash: 74d99e2d426e9ea5701fad80418fdf019112cc9e -ms.sourcegitcommit: 213292dfbb0c37d83f62709959ff55c50af5560d -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/25/2018 -ms.locfileid: "47083323" ---- -# 基本検証 -このサンプルは、`CreateProduct` アクティビティで構成されています。このアクティビティでは、その `Cost` 引数が `Price` 引数以下であることを検証します。 - -## サンプルの詳細 - 検証を使用する 2 人の作成者が存在します。1 人はアクティビティの検証ロジックを作成するアクティビティ作成者で、もう 1 人は、特定のワークフローで検証サービスを呼び出すワークフロー作成者です。 このシナリオでは、アクティビティ作成者はアクティビティのすべてのインスタンスで、コストが必ず価格以下になるように強制します。 - - アクティビティ作成者 (アクティビティ内) は、次を行う必要があります。 - -- 制約 (`PriceGreaterThanCost`) を作成します。 ここには、すべての検証ロジックが存在します。 - -- `System.Activities.CodeActivity.OnGetConstraints()` をオーバーライドし、制約 (`PriceGreaterThanCost`) を制約 に追加します。 - - ワークフロー作成者 (メイン プログラム) は次を実行する必要があります。 - -- 検証するアクティビティのインスタンスを含むワークフローを作成します (`CreateProduct`)。 - -- を呼び出すと、 コレクションが返されます。 - -- (省略可能) オブジェクトを出力します。 - -#### サンプルをセットアップ、ビルド、および実行するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] で BasicValidation.sln サンプル ソリューションを開きます。 - -2. ソリューションをビルドして実行します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Validation\BasicValidation` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/basic-xaml-only-service.md b/docs/framework/windows-workflow-foundation/samples/basic-xaml-only-service.md deleted file mode 100644 index ace54fbf584..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/basic-xaml-only-service.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: 基本的な XAML 専用サービス -ms.date: 03/30/2017 -ms.assetid: c106feb0-0245-43b5-aefe-93ce0e4d38eb -ms.openlocfilehash: f4f296a97b9c3093874c5ec8e05023e84b0af44a -ms.sourcegitcommit: fb78d8abbdb87144a3872cf154930157090dd933 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/26/2018 -ms.locfileid: "47206399" ---- -# 基本的な XAML 専用サービス -このサンプルでは、XAML 専用サービスを作成する方法を示します。 このシナリオは自動車関連の問題に対する診断サービスです。 このサービスは、顧客に一連の質問をして問題を診断するワークフローとして実装されます。 このサービスで診断できる問題は 2 種類です (車のエンジンがかからない、または空調装置が動作しない)。 ワークフローでは、デザイナーの要求/応答テンプレートを使用して、3 つの簡単なサービス操作を公開します。 サービスは、IIS に仮想ディレクトリを作成し、service1.xamlx ファイルおよび Web.config ファイルをその仮想ディレクトリにコピーすることによって IIS でホストされます。コンパイルされたコードは必要ありません。 既定でこのサンプルは自動的に必要なファイルにコピー、WCF および WF のサンプルのセットアップの手順に従って作成する仮想ディレクトリ: [Windows Communication Foundation サンプル1回限りのセットアップ手順](../../../../docs/framework/wcf/samples/one-time-setup-procedure-for-the-wcf-samples.md) Visual Studio 2010 で構築されるとき。 - -#### このサンプルを使用するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] でプロジェクト ソリューションを読み込み、プロジェクトをビルドします。 - -2. [ソリューションの基本ディレクトリ]\Client\bin\debug に生成されたクライアント アプリケーションを実行します。 - -3. オプションが出力されるので、オプションを選択します。 質問が表示されたら、はいかいいえで (Y キーまたは N キーを使用して) 回答します。 サービスによる問題の診断が完了すると、診断結果が出力されます。 - -4. オプションが再度表示されます。 もう一度問題を診断することも、アプリケーションを終了することもできます。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Services\XAMLService` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/bookmarks.md b/docs/framework/windows-workflow-foundation/samples/bookmarks.md deleted file mode 100644 index 9bbe83ef7ae..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/bookmarks.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -title: Bookmarks2 -ms.date: 03/30/2017 -ms.assetid: 035fadb2-49fa-4ac7-b398-daf138f66e87 -ms.openlocfilehash: 6bcc4e27566b9c8553e0792558c281a6b1f1caf4 -ms.sourcegitcommit: 2eceb05f1a5bb261291a1f6a91c5153727ac1c19 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/04/2018 -ms.locfileid: "43528991" ---- -# ブックマーク -このサンプルでは、外部入力を受信するためのブックマークを作成するカスタム アクティビティを記述する方法を示します。 また、このサンプルでは、基本的なコンソール アプリケーションによってワークフローでカスタム アクティビティを使用し、実行中のワークフロー インスタンスに関連付けられたブックマークを探索および再開する方法を示します。 ブックマークの詳細については、次を参照してください。[ブックマーク](../../../../docs/framework/windows-workflow-foundation/bookmarks.md)します。 - -### サンプルをセットアップ、ビルド、および実行するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] で Bookmarks.sln サンプル ソリューションを開きます。 - -2. ソリューションをビルドするには、Ctrl キーと Shift キーを押しながら B キーを押します。 - -3. サンプルを実行するには、Ctrl キーを押しながら F5 キーを押します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\CustomActivities\CodeBodied\Bookmarks` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/buffered-receive.md b/docs/framework/windows-workflow-foundation/samples/buffered-receive.md deleted file mode 100644 index afeca53e2b4..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/buffered-receive.md +++ /dev/null @@ -1,109 +0,0 @@ ---- -title: バッファーされた受信機能 -ms.date: 03/30/2017 -ms.assetid: 9d46d9b9-96c9-4531-9695-ab526b4d704a -ms.openlocfilehash: b95577c71493275f30703b4366fab32a51097bd2 -ms.sourcegitcommit: 2eceb05f1a5bb261291a1f6a91c5153727ac1c19 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/04/2018 -ms.locfileid: "43526805" ---- -# バッファーされた受信機能 -このサンプルを設定して、Windows Workflow Foundation (WF) のバッファーされた受信機能を構成する方法を示します。 バッファーされた受信機能を使用すると、ワークフロー作成者は、メッセージが受信される順序を考慮することなくワークフローを作成できます。 バッファーされた受信機能では、メッセージがローカルにバッファーされ、ワークフローで受信準備が整ったときにメッセージが配信されます。 - -## 使用例 - メッセージング アクティビティと共にバッファーされた受信機能を使用した、順番を無視したメッセージ処理。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Services\BufferedReceive` - -## 説明 - 使用してこのサンプルでは、Windows Communication Foundation (WCF) サービスが実装は[!INCLUDE[wf1](../../../../includes/wf1-md.md)]のシーケンスがありますアクティビティ。 このワークフローは、ローン承認のための 3 つの通知を受け取る単純なローン承認プロセスをモデル化しています。 Windows Communication Foundation (WCF) クライアント アプリケーションでは、サービスが要求の逆の順序で次の 3 つの関連付けられた通知を送信します。 サービスでバッファーされた受信機能が有効になっているので、順番を無視した各メッセージがサービスにバッファーされ、ワークフローで受信準備が整ったときに処理されます。 - - バッファーされた受信機能では、バインディングによる のサポートが必要なので、サービスで が使用されます。 バインディングのための特別な構成は不要なので、既定の設定が使用されます。 - -```xml - -``` - - また、サービスでは、 を使用してサービスのメタデータが公開されます。 - - 同様に、 を使用してクライアント エンドポイントが構成されます。 クライアント コードと構成を使用して生成されて、**サービス参照の追加**Visual Studio の機能です。 App.config ファイルで生成されたクライアント エンドポイントを次の例に示します。 - -```xml - -``` - - このサンプルでは、次の Windows コンポーネントが有効になっている必要があります。 - -1. [!INCLUDE[iis60](../../../../includes/iis60-md.md)] - -2. [!INCLUDE[iis60](../../../../includes/iis60-md.md)] と互換性のある管理、IIS メタベースおよび IIS 6 構成との互換性 - -3. World Wide Web サービス、アプリケーション開発機能、および ASP.NET - -4. Microsoft メッセージ キュー (MSMQ) サーバー - -#### サンプルをセットアップしてビルドするには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] コマンド プロンプトで、「`aspnet_regiis –I`」と入力して ASP.NET を登録し、Enter キーを押します。 - -2. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] を管理者として実行します。 - -3. LoanService.sln を開きます。 - -4. LoanService プロジェクト用の仮想ディレクトリを作成する場合は、選択を求められたら**はい**します。 - -#### サービス キューを設定するには - -1. F5 キーを押して LoanClient アプリケーションを実行し、キューを作成して Service1.xamlx で定義されたサービスをアクティブ化します。 - -2. 開く、**コンピュータの管理**コンソールで、コマンド プロンプトから Compmgmt.msc を実行します。 - -3. **コンピュータの管理**コンソールで、**サービス**、**アプリケーション**、**メッセージ キュー**、**専用キュー**. - -4. Loanservice/service1.xamlx キューを右クリックして**プロパティ**します。 - -5. 選択、**セキュリティ**タブをクリックし、追加**のすべてのユーザーは受信メッセージ**、**メッセージのピーク**と**メッセージの送信**アクセス許可。 - -6. [!INCLUDE[iis60](../../../../includes/iis60-md.md)] マネージャーを開きます。 - -7. 参照する**Server**、**サイト**、 **Default Web site**、**プライベート**、 **LoanService** を選択します。**高度なオプション** - -8. 変更、**有効なプロトコル**する**http**、 **net.msmq**します。 - -#### サンプルを実行するには - -1. 参照する http://localhost/private/loanservice/service1.xamlxにサービスが実行されていることを確認します。 - -2. F5 キーを押して LoanClient アプリケーションを実行します。 ワークフローが完了したら、メッセージ交換の結果を示す out.txt ファイルが C:\Inbox に保存されます。 - -#### クリーンアップするには - -1. 開く、**コンピュータの管理**コンソールで、コマンド プロンプトから Compmgmt.msc を実行します。 - -2. 展開**サービス**と**アプリケーション**、**メッセージ キュー**、**専用キュー**します。 - -3. loanservice/service1.xamlx キューを削除します。 - -4. C:\Inbox ディレクトリを削除します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Services\BufferedReceive` diff --git a/docs/framework/windows-workflow-foundation/samples/built-in-configuration.md b/docs/framework/windows-workflow-foundation/samples/built-in-configuration.md deleted file mode 100644 index 873595205e6..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/built-in-configuration.md +++ /dev/null @@ -1,110 +0,0 @@ ---- -title: 組み込みの構成 -ms.date: 03/30/2017 -ms.assetid: 34e85c9b-088d-4347-816c-0f77cb73ef2f -ms.openlocfilehash: e76c019d9fc1b416e6fa8175a70b5fd01d9ff53e -ms.sourcegitcommit: 64f4baed249341e5bf64d1385bf48e3f2e1a0211 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/07/2018 -ms.locfileid: "44084794" ---- -# 組み込みの構成 -このサンプルでは、SQL Workflow Instance Store の使用法と構成を示します。 SQL Workflow Instance Store は、SQL ベースのインスタンス ストアの実装です。 SQL Workflow Instance Store を使用すると、インスタンスの状態を SQL Server データベースや SQL Server Express データベースに保存したり読み込んだりすることができます。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合は、(ダウンロード ページ) に移動してすべての Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Persistence\BuiltInConfiguration` - -## サンプルの詳細 - このサンプルは、カウント サービスを実装するワークフローで構成されています。 サービスの start メソッドが呼び出されると、0 から 59 までのカウントが行われます。 カウンターは 2 秒ごとにインクリメントされ、 カウントのたびにワークフローが永続化されます。 - - このカウント ワークフローは、ワークフロー サービス ホストによってホストされる自己ホスト型サービスです。 プログラムの `Main` メソッドは、カウント ワークフローをホストするワークフロー サービス ホストのインスタンスを作成し、 カウント ワークフローにアクセスできるエンドポイントを定義します。 その後、SQL Workflow Instance Store を構成するために使用される SQL Workflow Instance Store の動作を定義します。 続いて、カウント ワークフローの start メソッドを呼び出すクライアントがプログラムで作成されます。 - - プログラムを開始すると、カウンターが自動的にカウントを開始します。 インスタンスを読み込んで SQL Workflow Instance Store を構成するのに数秒かかる場合もあります。 ワークフロー インスタンス ストアの詳細については、次を参照してください。 [SQL Workflow Instance Store](../../../../docs/framework/windows-workflow-foundation/sql-workflow-instance-store.md)します。 - - このサンプルは、2 つの部分で構成されています。 - -1. InstanceStore1 は、C# コードを使用して を構成する方法を示しています (Program.cs を参照)。 - -2. InstanceStore2 は、XML を使用して を構成する方法を示しています (App.config を参照)。 - - SQL Workflow Instance Store の動作を構成するには次の設定を使用できます。 - -- `HostLockRenewalPeriod` を設定します。 この時間は、ホストで実行されているインスタンスの所有権ロックをホストが更新する間隔を定義します。 ロックの情報はインスタンス ストアに格納されます。 `HostLockRenewalPeriod` で定義されている間隔が 2 回経過しても所有権が更新されないと、インスタンスが破棄されたと見なされます。 別の が同じワークフローを実行し、同じインスタンス ストア (同じコンピューターにあっても別のコンピューターにあってもかまいません) に接続している場合は、その WorkflowServiceHost によってインスタンスが回復されます。 (インスタンスの回復はこのサンプルの範囲外です)。 - -- `RunnableInstancesDetectionPeriod` を設定します。 この期間は、実行可能になったインスタンスをホストがポーリングする間隔を定義します。 インスタンスが実行可能になるのは次の場合です。 - - - 永続的なタイマー () が切れた場合。 - - - 別のホストで `HostLockRenewal` のハートビートが (コンピューターがクラッシュしたなどの理由で) 失敗してインスタンスが回復された場合。 - -- `InstanceCompletionAction` を設定します。 このプロパティを `DeleteNothing` に設定すると、完了したインスタンスがインスタンス ストアに保持されます。`DeleteAll` に設定すると、インスタンスが完了時にストアから削除されます。 次の点に注意してください。 - - > [!NOTE] - > カウントが完了する前に Enter キーを押してホストを終了すると、ワークフロー インスタンスが完了しません。 - -- `InstanceLockedExceptionAction` を設定します。 この設定は、別のホストによってロックされているインスタンスを読み込もうとした場合の動作を定義します。 次の選択肢があります。 - - - `NoRetry`: 読み込みを再試行せずにホストに `InstanceLockedException` を返します。 - - - `BasicRetry`: インスタンスの読み込みを再試行し続けます。 再試行のスケジュールは、単純な線形アルゴリズムに従って設定されます (5 秒ごとに再試行するなど)。 - - - `AggressiveRetry`: インスタンスの読み込みを再試行し続けます。 再試行のスケジュールは、積極的な指数バックオフ アルゴリズムに従って設定されます。 - -- Encoding オプションを設定します。 この設定は、SQL Workflow Instance Store にインスタンスの状態を格納する方法を定義します。 次の選択肢があります。 - - - GZip 圧縮アルゴリズムを使用してインスタンスの状態を圧縮します。 - - - インスタンスの状態を圧縮しません。 - -#### このサンプルを使用するには - -1. アクセス許可がある場合は、管理者として [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] コマンド プロンプトを開きます。 - -2. サンプル ディレクトリ (\WF\Basic\Persistence\BuiltInConfiguration\CS) に移動して、CreateInstanceStore.cmd を実行します。 - -3. 管理特権がない場合は、SQL Server ログインを作成します。 移動して`Security`、**ログイン**します。 右クリックして**ログイン**新しいログインを作成します。 - -4. 自分の ACL ユーザーを SQL ロールに追加します。 開いている**データベース**、 **InstanceStore**、**セキュリティ**します。 右クリック**ユーザー**選択**新しいユーザー**します。 設定、**ログイン名**前の手順で作成されたユーザーにします。 データベース ロールのメンバーシップにユーザーを追加**System.Activities.DurableInstancing.InstanceStoreUsers** (など)。 ユーザーが既に存在している場合もあります (ユーザー dbo など)。 - -5. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] で InstanceStore.sln ファイルを開き、Ctrl キーと Shift キーを押しながら B キーを押して、ソリューションをビルドします。 - -6. [!INCLUDE[fileExplorer](../../../../includes/fileexplorer-md.md)]、サンプルの該当する bin \debug ディレクトリ (\WF\Basic\Persistence\BuiltInConfiguration\cs\InstanceStore(1 or 2)\bin\debug) に移動し、InstanceStore.exe を右クリックしておよび選択**を管理者として実行**. このサンプルはチャネル リスナーを開くため、管理特権で実行する必要があります。 - -7. ローカルの SQL Server Express 以外のデータベースにインスタンス ストアを作成した場合は、サンプルのデータベース接続文字列 (InstanceStore1 プロジェクトの Program.cs にある `const string ConnectionString` と、InstanceStore2 プロジェクトの App.config にある `connectionString` 属性) を更新してサンプルを再コンパイルする必要があります。 - -#### サンプルが正常に実行されていることを確認するには - -1. サンプルの実行中に、SQL Server Management Studio を起動します。 - -2. **オブジェクト エクスプ ローラー**、**データベース**、 **InstanceStore**、**テーブル**、し **[System.activities.durableinstancing.instancetable]** します。 - -3. 右クリックして**InstanceTable**選択**上位 1000 行**します。 - -4. 新しいエントリがあることを確認、**ロックの有効期限**、5 秒ごとに変更 (タスクバーのをクリックして**Execute**クエリを更新するボタン)。 これは、設定の結果として、**ホストのロック更新時間**5 にします。 - -5. カウントの完了後にインスタンス テーブルのエントリが削除されることを確認します。 これは、設定の結果として**インスタンス完了アクション**に**DeleteAll**します。 - -6. ワークフロー ホスト アプリケーションが終了されることを確認するには ENTER キーを押して、 **LockOwnersTable**は削除されます。 - -#### サンプルをアンインストールするには - -1. サンプル ディレクトリ (\WF\Basic\Persistence\BuiltInConfiguration) で RemoveInstanceStore.cmd を実行します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Persistence\BuiltInConfiguration` - -## 関連項目 - [AppFabric のホストおよび永続化のサンプル](https://go.microsoft.com/fwlink/?LinkId=193961) diff --git a/docs/framework/windows-workflow-foundation/samples/cancellation-handler-on-compensable-activity.md b/docs/framework/windows-workflow-foundation/samples/cancellation-handler-on-compensable-activity.md deleted file mode 100644 index e62786c0cf3..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/cancellation-handler-on-compensable-activity.md +++ /dev/null @@ -1,88 +0,0 @@ ---- -title: 補正可能なアクティビティでのキャンセル ハンドラー -ms.date: 03/30/2017 -ms.assetid: afd98bee-eccf-47e9-99c9-27cea84ce5ce -ms.openlocfilehash: 2f32d10e22be7fdd1e84229a214409df06efa918 -ms.sourcegitcommit: efff8f331fd9467f093f8ab8d23a203d6ecb5b60 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/01/2018 -ms.locfileid: "43442708" ---- -# 補正可能なアクティビティでのキャンセル ハンドラー -このサンプルでは、 でキャンセル ハンドラーを使用する例を示します。 - - このサンプルには、 キャンセルの使用法を示す 2 つのシナリオが含まれています。最初のシナリオには、3 つの補正可能な子アクティビティを含む補正可能なルート アクティビティが含まれます。 2 つの子アクティビティは、アクティビティ本体の実行を正常に終了します。 3 つ目の子アクティビティ本体が実行されると、3 つ目のアクティビティ処理をキャンセルすることで処理される例外が発生し、その後ルート アクティビティのキャンセルがトリガーされます。 この例のルート アクティビティのロジックでは、先に完了している他の 2 つの子アクティビティが補正されます。 - -``` -Try -{ - CA - { - CA1 - { - } - CA2 - { - } - CA3 - { - //Exception here - // Then this will get cancelled - } - - // Cancellation for the root activity automatically gets called, which, in turn, adds some logic to revert what was done (Or can decide to actually confirm CA1 & CA2 if the user so desires). - } -} -Catches { -// Can do more stuff... -} -``` - - 2 つ目のシナリオでは、 分岐の前に終了する と平行して、 を実行する方法を示します。 最初の分岐が終了したときに完了条件が `true` に設定されて、他の分岐がキャンセルされます。 - -``` -Parallel -{ - Branch1 - { - // Small Delay that times out (timeout1) before branch2. - } - Branch2 - { - CA - { - CA1 - { - } - CA2 - { - } - CA3 - { - } - If (timeout1) - { - call Cancel CA - } - } - } -} -``` - -### サンプルをセットアップ、ビルド、および実行するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] を使用して CompensationCancellation.sln を開きます。 - -2. Ctrl キーと Shift キーを押しながら B キーを押すか、[ビルド] メニューの [ソリューションのビルド] をクリックして、サンプルをビルドします。 - -3. F5 キーを押すか、[デバッグ] メニューの [デバッグ開始] をクリックしてサンプルを実行します。 または、Ctrl キーを押しながら F5 キーを押すか、[デバッグ] メニューの [デバッグなしで開始] をクリックすることもできます。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Compensation\CompensationCancellation` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/channel-caching-with-send.md b/docs/framework/windows-workflow-foundation/samples/channel-caching-with-send.md deleted file mode 100644 index 924f49816c2..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/channel-caching-with-send.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: Send によるチャネル キャッシュ -ms.date: 03/30/2017 -ms.assetid: e69a2502-25cb-43bf-b8d2-95fbdecb41cb -ms.openlocfilehash: 619088def1f5e443a31244516655d75d1e25c9cb -ms.sourcegitcommit: 2eceb05f1a5bb261291a1f6a91c5153727ac1c19 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/04/2018 -ms.locfileid: "43503816" ---- -# Send によるチャネル キャッシュ - を使用すると、ユーザーは および アクティビティでさまざまなレベルのチャネル キャッシュを利用できます。 既定では、インスタンス レベルのキャッシュが有効になっています。このサンプルでは、次の機能を示します。 - -1. アプリケーション ドメイン間での の共有。 - -2. チャネル キャッシュの無効化。 - -3. 内のワークフロー インスタンス間での の共有。 - -## 使用例 - 拡張、、および アクティビティ。 - -#### サンプルをセットアップ、ビルド、および実行するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] でプロジェクト ソリューションを読み込み、プロジェクトをビルドします。 - -2. \EchoWorkflowService\bin\debug に生成された EchoWorkflowService アプリケーションを実行します。 - -3. \EchoWorkflowClient\bin\debug に生成された EchoWorkflowClient アプリケーションを実行します。 - -4. クライアントは、サービスで Echo 操作を呼び出し、結果を出力します。 結果が出力されたら、Enter キーを押してクライアントを終了し、サービスを終了します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Services\ChannelCache` diff --git a/docs/framework/windows-workflow-foundation/samples/commentout-activity.md b/docs/framework/windows-workflow-foundation/samples/commentout-activity.md deleted file mode 100644 index 1a4beb31d90..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/commentout-activity.md +++ /dev/null @@ -1,63 +0,0 @@ ---- -title: CommentOut アクティビティ -ms.date: 03/30/2017 -ms.assetid: 340204c3-f827-45fb-870e-55e2ac457ca5 -ms.openlocfilehash: 3e9f6945755bd60c551674ea8a3471a9f612da52 -ms.sourcegitcommit: efff8f331fd9467f093f8ab8d23a203d6ecb5b60 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/01/2018 -ms.locfileid: "43404751" ---- -# CommentOut アクティビティ -このサンプルでは、実行のパスから他のアクティビティを削除し、それらを有効にコメント化するカスタム アクティビティを記述する方法を示します。 - -## CommentOut アクティビティ - CommentOut アクティビティでは、目標を達成するために、 基本クラスを継承し、空の メソッドを実装します。 - -``` -protected override void Execute(CodeActivityContext context) -{ -} -``` - - クラスは次の例のように宣言されます。 - -``` -[Designer(typeof(CommentOutDesigner))] -[ContentProperty("Body")] -public sealed class CommentOut : CodeActivity -``` - - `Designer` 属性は、デザイン時にアクティビティのビジュアル インターフェイスを実装するクラスを指定します。 `ContentProperty` 属性は、このアクティビティのインスタンスの XAML 表現で `"Body"` プロパティを省略できることを宣言します。 - -``` - - - -``` - - デザイナー クラスでは、XAML はアクティビティのカスタム ビジュアル表現を作成するために使用されます。 はビジュアル エディターを提供するクラスです。 - - `CommentOut` アクティビティ サーフェイス上には、1 つのアクティビティをドロップできます。 このサーフェイスに複数のアクティビティを追加する場合は、最初にシーケンス アクティビティをここにドラッグします。 - -#### このサンプルを使用するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] で CommentOut.sln を開きます。 - -2. Ctrl キーと Shift キーを押しながら B キーを押して、ソリューションをコンパイルします。 - -3. Ctrl キーを押しながら F5 キーを押して、サンプルをデバッグなしで開始します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Scenario\ActivityLibrary\CommentOut` diff --git a/docs/framework/windows-workflow-foundation/samples/compensable-activity-sample.md b/docs/framework/windows-workflow-foundation/samples/compensable-activity-sample.md deleted file mode 100644 index bc87768a9b4..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/compensable-activity-sample.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -title: 補正可能なアクティビティのサンプル -ms.date: 03/30/2017 -ms.assetid: 58f4898c-b2b8-44a4-9a73-3bef4da6d5ba -ms.openlocfilehash: 3bf1d120cd700830a98f53495f7e9989ffec73db -ms.sourcegitcommit: fb78d8abbdb87144a3872cf154930157090dd933 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/27/2018 -ms.locfileid: "47398931" ---- -# 補正可能なアクティビティのサンプル -このサンプルでは、`CompensableActivity` アクティビティを使用して、通常の実行中に特定のアクションに対して実行される作業、および必要に応じて後からアクションを補正するために実行する必要がある作業を定義する方法を示します。 サンプルの最初の部分は、補正可能な作業単位定義できる方法では、Windows Workflow Foundation (WF) を示しています。 を使用して、`CompensableActivity`アクティビティと正常に実行での実行方法。 サンプルの 2 つ目の部分では、予期しないイベントが発生してワークフロー インスタンスがキャンセルされたときに、同じ単位の補正可能な作業が自動的に補正を引き継ぐ方法を示します。 - -### サンプルをセットアップ、ビルド、および実行するには - -1. Visual Studio 2010 を使用して、CompensableActivity.sln を開きます。 - -2. Ctrl キーと Shift キーを押しながら B キーを押して、ソリューションをビルドします。 - -3. F5 キーを押してアプリケーションを実行します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Compensation\BasicCompensableActivity` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/compensation-samples.md b/docs/framework/windows-workflow-foundation/samples/compensation-samples.md deleted file mode 100644 index f29745852ff..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/compensation-samples.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -title: 補正 (サンプル) -ms.date: 03/30/2017 -ms.assetid: 3bf46970-d40c-4cf1-b8a7-b1ff46b2af82 -ms.openlocfilehash: cc1026a7da5654356426344464e3ddecb9f62746 -ms.sourcegitcommit: 3d5d33f384eeba41b2dff79d096f47ccc8d8f03d -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 05/04/2018 -ms.locfileid: "33513345" ---- -# 補正 (サンプル) -このセクションには、Windows Workflow Foundation (WF) の補正に関連するサンプルが含まれています。 - -## このセクションの内容 - [補正可能なアクティビティ](../../../../docs/framework/windows-workflow-foundation/samples/compensable-activity-sample.md) - アクティビティを使用して、通常の実行中に特定のアクションに対して実行される作業、および必要に応じて後からアクションを補正するために実行する必要がある作業を定義する方法を示します。 - - [カスタム補正](../../../../docs/framework/windows-workflow-foundation/samples/custom-compensation-sample.md) - とその補正ハンドラーを使用してカスタム補正ロジックを定義する方法を示します。 - - [確認](../../../../docs/framework/windows-workflow-foundation/samples/confirmation.md) - および確認を使用する 4 つの一般的なシナリオを示します。 - - [補正可能なアクティビティでのキャンセル ハンドラー](../../../../docs/framework/windows-workflow-foundation/samples/cancellation-handler-on-compensable-activity.md) - でキャンセル ハンドラーを使用する例を示します。 diff --git a/docs/framework/windows-workflow-foundation/samples/composite.md b/docs/framework/windows-workflow-foundation/samples/composite.md deleted file mode 100644 index 888bbd94813..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/composite.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: 複合 -ms.date: 03/30/2017 -ms.assetid: 82d8e85d-8a19-49f4-a3ec-44b7ad543b0f -ms.openlocfilehash: 2462a271b31185066a74d6697f90189f33837a5c -ms.sourcegitcommit: 3d5d33f384eeba41b2dff79d096f47ccc8d8f03d -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 05/04/2018 -ms.locfileid: "33513251" ---- -# 複合 -このセクションには、Windows Workflow Foundation (WF) で他のアクティビティで構成されるカスタム アクティビティのサンプルが含まれています。 - -## このセクションの内容 - [基本的なアクティビティの構成](../../../../docs/framework/windows-workflow-foundation/samples/basic-activity-composition.md) - カスタム アクティビティとシステム標準アクティビティを作成して、追加のカスタム アクティビティを構築する方法を示します。 - - [カスタム アクティビティの記述について](../../../../docs/framework/windows-workflow-foundation/samples/getting-started-writing-a-custom-activity.md) - XAML で単純なカスタム アクティビティを定義する方法を示します。 diff --git a/docs/framework/windows-workflow-foundation/samples/conditioned-activity-group.md b/docs/framework/windows-workflow-foundation/samples/conditioned-activity-group.md deleted file mode 100644 index 4f23556d550..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/conditioned-activity-group.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: 条件付きアクティビティ グループ -ms.date: 03/30/2017 -ms.assetid: f76ef924-34ce-48ae-8c8d-48faf9697754 -ms.openlocfilehash: 144a6c76ea6314c553e201fe4e2364890d869f34 -ms.sourcegitcommit: 3c1c3ba79895335ff3737934e39372555ca7d6d0 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/06/2018 -ms.locfileid: "43861206" ---- -# 条件付きアクティビティ グループ -このサンプルは、旅行の予約アプリケーションです。 (CAG) には、コード アクティビティである Car アクティビティと Airline アクティビティの 2 つがあります。 `SimpleCAGWorkflow` コンストラクタ内の ArrayList オブジェクト "travelNeedType" には、必要とされる旅行の予約の種類が設定されています。 `travelNeeds.Add` ステートメントの 1 つまたは両方をコメント化することで、CAG の動作を変更できます。 Car アクティビティと Airline アクティビティには、 の設定された 条件がそれぞれ含まれています。 Car アクティビティは、`travelNeeds` コレクションに `TravelNeeds.Car` のエントリがある場合にだけ実行され、Airline アクティビティは、`travelNeeds` コレクションに `TravelNeeds.Airline` のエントリがある場合にだけ実行されます。 - - 各アクティビティが実行されると、コレクションから対応するエントリが削除されます。 既定の条件 では、実行中または実行する準備の整った子がない場合に (それぞれの 条件による)、CAG が終了するように指定されています。 このサンプルでは、CAG は `travelNeeds` コレクションが空になったときに終了します。 - -### サンプルをビルドするには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] で、ソリューションを開きます。 - -2. Ctrl キーと Shift キーを押しながら B キーを押して、ソリューションをビルドします。 - -3. Ctrl キーを押しながら F5 キーを押して、ソリューションをデバッグなしで実行します。 - -### サンプルを実行するには - -- [SDK コマンド プロンプト] ウィンドウで、SimpleCAG\bin\debug フォルダー (Visual Basic バージョンのサンプルの場合は SimpleCAG\bin フォルダー) にある .exe ファイルを実行します。このフォルダーは、サンプルのメイン フォルダーの下に作成されます。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Rules\SimpleCAG` - -## 関連項目 - - - - diff --git a/docs/framework/windows-workflow-foundation/samples/confirmation.md b/docs/framework/windows-workflow-foundation/samples/confirmation.md deleted file mode 100644 index deeede57edf..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/confirmation.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: 確認 -ms.date: 03/30/2017 -ms.assetid: 8637aeaf-ac9e-49b8-93f4-da15dee45277 -ms.openlocfilehash: caa712aa52da01ce44335a361fd6c9f5215316bf -ms.sourcegitcommit: 5bbfe34a9a14e4ccb22367e57b57585c208cf757 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/17/2018 -ms.locfileid: "45964476" ---- -# 確認 -このサンプルでは、 および確認を使用する 4 つの一般的なシナリオを示します。 確認を示すために、4 つのワークフローを実行します。 このサンプルには、宣言型バージョンと命令型バージョンが用意されています。 - -## 補正可能なアクティビティの確認 - 最初のワークフローでは、補正可能なアクティビティを確認する方法を示します。このワークフローは、2 つの インスタンスのシーケンスで構成されています。 2 つ目の の完了後、確認アクティビティによって 1 つ目のアクティビティが確認されます。 ワークフローが正常に完了すると、確認または補正されていないすべての インスタンスが既定の順序で自動的に確認されます。 確認アクティビティを使用しなかった場合、2 つ目の が最初に確認されていたことになります。 - -## 明示的な補正 - 2 番目のシナリオでは、 が明示的に補正される場合の既定の確認に対する影響を示します。 このワークフローは、2 つの アクティビティのシーケンスで構成されています。2 つ目のアクティビティが完了すると、1 つ目のアクティビティが明示的に補正されます。 したがって、ワークフローが完了すると、2 つ目の のみが確認されます。 - -## 入れ子になった CompensableActivity アクティビティの確認順序の制御 - 3 番目のシナリオでは、入れ子になった の確認順序を制御する方法を示します。 このシナリオは、ワークフローのルートとしての で構成されています。 ルート の本体は 3 つの のシーケンスです。 ルート は、1 つ目および 2 つ目の入れ子になった をこの順序で確認するように指定するシーケンスです。 ワークフローが完了すると、ルート が確認され、その後、1 つ目、2 つ目、および 3 つ目の入れ子になった がこの順序で確認されます。 したがって、既定の確認順序は基本的に逆になります。 3 つ目の はルート の一部として によって明示的に確認されなかったため、既定の順序に従って確認されます。 ただし、このアクティビティが唯一未確認の であるので、このアクティビティが確認されるだけです。 - -## 変数のスコープ - 4 番目のシナリオでは、アクティビティが完了した場合またはワークフローが完了した場合でも、、または の各ハンドラーが実行されるときに、 またはその親のいずれかに対して定義された変数が有効期間中にスコープ外にならないようにする方法を示します。 このワークフローは、2 つの のシーケンスで構成されています。 1 つ目のアクティビティの本体では、変数 `mySum` は、5 と 10 の合計、および印刷される結果に設定されます。 2 つ目の の本体では、合計は、既存の合計と 7 の合計、および印刷される結果に設定されます。 1 つ目の に対しては、カスタムの確認ハンドラーが定義されています。このアクティビティは、合計を印刷し、7 を差し引いて、合計を再度印刷します。 印刷された合計を調べることで、両方の の本体だけでなく についても変数がスコープ内にあることがわかります。 - -#### サンプルを実行するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] でソリューションを読み込みます。 - -2. ConfirmationSample.exe アプリケーションを実行します。 - -3. 次の出力を確認します。 - - **明示的な確認: workflowCompensableActivity1 の開始: BodyCompensableActivity2: BodyCompensableActivity1: workflowCompensableActivity2 の確認 HandlerEnd: 確認 HandlerExplicit の補正: 開始workflowCompensableActivity1: BodyCompensableActivity2: BodyCompensableActivity1: workflowCompensableActivity2 の補正 HandlerEnd: 確認 HandlerCustom 確認ハンドラー: 開始 workflowCompensableActivity1 の。BodyCompensableActivity2: BodyCompensableActivity3: workflowCompensableActivity1 の BodyEnd: 確認 HandlerCompensableActivity2: 確認 HandlerCompensableActivity3: 確認ハンドラーで確認 HandlerVariable アクセス。WorkflowCompensableActivity1 の開始: BodyCompensableActivity1: 合計: 15CompensableActivity2: BodyCompensableActivity2: 7、sumCompensableActivity2 を追加する: 合計: workflowCompensableActivity2 の 22End: 確認HandlerCompensableActivity1: 確認 HandlerCompensableActivity2: 合計: 22CompensableActivity2: 合計をここでは 12 を引いた後: を終了する 10Press」と入力します。** - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Compensation\Confirmation` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/constraint-types.md b/docs/framework/windows-workflow-foundation/samples/constraint-types.md deleted file mode 100644 index cc144f34773..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/constraint-types.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: 制約の種類 -ms.date: 03/30/2017 -ms.assetid: b6b246e6-1130-4698-9625-c5c42abcbfed -ms.openlocfilehash: 202a2c7b3a3fc400552e42c8606457964af66af2 -ms.sourcegitcommit: 2eceb05f1a5bb261291a1f6a91c5153727ac1c19 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/04/2018 -ms.locfileid: "43506613" ---- -# 制約の種類 -このサンプルでは、ワークフローに制約を適用する 2 種類の方法を示します。1 つはアクティビティの内部 (ビルド) から適用する方法で、もう 1 つはアクティビティの外部 (ポリシー) から適用する方法です。 このシナリオでは、(サードパーティのソフトウェア会社の) アクティビティ作成者が 2 つの引数間のリレーションシップを検証します。 ここでは、コストが価格以下になるようにする必要があります。 これは、一般的な検証ビルド制約です。 - - 次に、ショップ オーナーがこの一般的なアクティビティに検証を追加します。 ここでは、製品のほとんどを $9.99 以下にします。 したがって、`CreateProduct` アクティビティに基づくポリシー制約を使用します。 - - このサンプルでは、次の操作を行います。 - - アクティビティ作成者 (ビルド) は、次を行う必要があります。 - -- 制約 (`PriceGreaterThanCost`) を作成します。 ここには、すべての検証ロジックが存在します。 - -- `System.Activities.CodeActivity.OnGetConstraints()` をオーバーライドし、制約 (`PriceGreaterThanCost`) を制約 に追加します。 - - ワークフロー作成者 (ポリシー) は、次を行う必要があります。 - -- 検証するアクティビティのインスタンスを含むワークフローを作成します (`CreateProduct`)。 - -- 制約 (`MaxPrice`) を作成します。 - -- インスタンス (`validationSettings`) を作成し、制約 (`MaxPrice`) をコレクション `AdditionalConstraints` に追加します。 ここで、ワークフロー作成者は、シーケンスや並列などのアクティビティにポリシー制約を追加できます。 - -- を呼び出すと、 オブジェクトの コレクションが返されます。 - -- (省略可能) オブジェクトを出力します。 - -### サンプルをセットアップ、ビルド、および実行するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] で ConstraintTypes.sln サンプル ソリューションを開きます。 - -2. ソリューションをビルドして実行します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Scenario\Validation\ConstraintLibrary` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/content-based-correlation.md b/docs/framework/windows-workflow-foundation/samples/content-based-correlation.md deleted file mode 100644 index 0a4fda8cbf5..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/content-based-correlation.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -title: コンテンツ ベースの相関関係 -ms.date: 03/30/2017 -ms.assetid: 8638b5d6-1d59-456d-8acd-179a5b39b260 -ms.openlocfilehash: c0367f480701468dcd5024ea3439bdcd38acc78f -ms.sourcegitcommit: a885cc8c3e444ca6471348893d5373c6e9e49a47 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/06/2018 -ms.locfileid: "43865772" ---- -# コンテンツ ベースの相関関係 -このサンプルでは、メッセージング アクティビティ (、および ) を 1 つまたは複数のコンテンツ ベースの相関関係で使用する方法を示します。 このシナリオでは、最初に発注書 ID に基づいて 1 つの相関関係を初期化し、後から顧客 ID に基づいて別の相関関係を作成します。 ここでは、 アクティビティで、既存の相関関係を追跡し、なおかつ同じ受信メッセージに基づいて新しい相関関係を初期化する方法を示します。 - -## 使用例 - メッセージング アクティビティとコンテンツ ベースの相関関係 - -## 説明 - このサンプルでは、複数のコンテンツ ベースの相関関係を使用する方法を示します。 このシナリオでは、最初に発注書 ID に基づいて 1 つの相関関係を初期化し、後から顧客 ID に基づいて別の相関関係を作成します。 相関関係は、 アクティビティを使用してカスケード化されます。このアクティビティは、既存の相関関係 (PurchaseOrderId) を追跡し、なおかつ同じ受信メッセージに基づいて新しい相関関係 (CustomerId) も初期化します。 これを実現するために、 アクティビティで プロパティ、 プロパティ、および プロパティを使用します。 - -## このサンプルを使用するには - -1. 開いている[!INCLUDE[vs2010](../../../../includes/vs2010-md.md)]を右クリックし、管理者特権でのアクセス許可を持つ、[!INCLUDE[vs2010](../../../../includes/vs2010-md.md)]アイコンを**管理者として実行**します。 - -2. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] を使用して、CascadingCorrelation.sln ソリューション ファイルを開きます。 - -3. ソリューションをビルドするには、Ctrl キーと Shift キーを押しながら B キーを押します。 - -4. サーバーを実行するには、F5 キーを押します。 - -5. サービスの準備ができ、メッセージのリッスンを開始したら、ソリューション エクスプローラーで、Client プロジェクトを右クリックして実行します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Services\ContentBasedCorrelation` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/correlated-calculator.md b/docs/framework/windows-workflow-foundation/samples/correlated-calculator.md deleted file mode 100644 index b1cd3e454cc..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/correlated-calculator.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: 相関電卓 -ms.date: 03/30/2017 -ms.assetid: c365166e-6552-49a4-bf17-9f4e597d4d41 -ms.openlocfilehash: 71cfdd0906ef20ec36b76ef5e508a4551b9fe3fe -ms.sourcegitcommit: 2eceb05f1a5bb261291a1f6a91c5153727ac1c19 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/04/2018 -ms.locfileid: "43517314" ---- -# 相関電卓 -このサンプルでは、メッセージ内のパラメーターに基づくコンテンツ ベースの相関関係と共に、デザイナーでメッセージング アクティビティ ( および ) を使用する方法を示します。 このシナリオでは、電卓の操作はパラレルなコンボイで行われます。 インスタンスおよび (`CalculatorId` に基づく) 相関関係は、最初のメッセージがワークフローに送信されたときに作成され、それ以降の同じ `CalculatorId` を持つメッセージは、リセット操作が呼び出されるまでそのインスタンスにディスパッチされます。 クライアントは、コード ベースのクライアント プロキシを使用してサービスと通信する WPF アプリケーションとして実装されます。 - -#### このサンプルを使用するには - -1. 昇格されたアクセス許可で [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] を起動し、For.sln ソリューション ファイルを開きます。 - - 1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] が含まれるフォルダーに移動します。 - - 2. Devenv.exe を右クリックして**管理者として実行**します。 - -2. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] を使用して、CorrelatedCalculator.sln ソリューション ファイルを開きます。 - -3. ソリューションをビルドするには、Ctrl キーと Shift キーを押しながら B キーを押します。 - -4. サービス プロジェクトを実行するには、Ctrl キーを押しながら F5 キーを押します。 - -5. サービスの準備ができ、メッセージのリッスンを開始したら、ソリューション エクスプローラーで、Client プロジェクトを右クリックして実行します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Scenario\Services\CorellatedCalculator` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/custom-activity-to-switch-on-a-range-of-values.md b/docs/framework/windows-workflow-foundation/samples/custom-activity-to-switch-on-a-range-of-values.md deleted file mode 100644 index e1fa6b5cb03..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/custom-activity-to-switch-on-a-range-of-values.md +++ /dev/null @@ -1,106 +0,0 @@ ---- -title: 値の範囲で切り替えを行うカスタム アクティビティ -ms.date: 03/30/2017 -ms.assetid: 441e0a17-421f-430c-ba97-59e4cc6c88e3 -ms.openlocfilehash: cfaf4318b1557a9fc217de8254e164243ea54569 -ms.sourcegitcommit: 6eac9a01ff5d70c6d18460324c016a3612c5e268 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/14/2018 -ms.locfileid: "45616352" ---- -# 値の範囲で切り替えを行うカスタム アクティビティ -このサンプルでは、 の使用を拡張するカスタム アクティビティを作成する方法を示します。 従来の ステートメントでは、単一の値に基づく切り替えが可能です。 しかし、ビジネス上のシナリオでは、値の範囲に基づいて切り替えを行う必要があるアクティビティもあります。 たとえば、切り替えの基準となる値が 1 ~ 5 の場合はあるアクションを実行し、6 ~ 10 の場合は別のアクションを実行し、それ以外の値の場合は既定のアクションを実行するようなアクティビティもあります。 このカスタム アクティビティを使用すると、そのようなシナリオが可能になります。 - -## SwitchRange アクティビティ - `SwitchRange` アクティビティは、式の結果の値がいずれかの `Cases` の範囲内に含まれる場合に子アクティビティをスケジュールします。 - - 値の範囲に基づいて切り替えを行うカスタム アクティビティのコード例を次に示します。 - -```csharp -public sealed class SwitchRange : NativeActivity where T : IComparable -{ - [RequiredArgument] - [DefaultValue(null)] - public InArgument Expression { get; set; } - - public IList> Cases - - [DefaultValue(null)] - public Activity Default { get; set; }} -} -``` - -|プロパティ|説明| -|-|-| -|式|評価されて Cases リストの範囲と比較される式です。 式の結果は T 型です。| -|Cases|各ケースは、範囲 (From および To) とアクティビティ (Body) で構成されます。 式が評価されて範囲と比較され、 式の結果がいずれかのケースの範囲内の値になると、対応するアクティビティが実行されます。| -|既定値|一致するケースがない場合に実行されるアクティビティです。 `null` に設定されている場合、アクションは実行されません。| - -## CaseRange クラス - `CaseRange` クラスは、`SwitchRange` アクティビティ内の範囲を表します。 `CaseRange` の各インスタンスには、範囲 (`From` および `To`) と、`Body` の式の評価結果が範囲内の値になった場合にスケジュールされる `SwitchRange` アクティビティが含まれます。 - - `CaseRange` クラスの定義のコード例を次に示します。 - -``` -public class CaseRange where T : IComparable -{ - public T From { get; set; } - - public T To { get; set; } - - public Activity Action { get; set; } -} -``` - -> [!NOTE] -> このサンプルで定義されている `SwitchRange` クラスと `CaseRange` クラスはどちらも、`IComparable` クラスと同様に、 を実装する任意の型で実行できるジェネリック クラスです。 - -## サンプルの使用方法 - `SwitchRange` アクティビティの使用方法を次のコード例に示します。 - -```csharp -Activity SwitchRange = new SwitchRange -{ - Expression = new InArgument(value), - Cases = - { - new CaseRange - { - From = 1, - To = 5, - Action = new WriteLine - { - Text = "Case 1-5 selected", - } - }, - new CaseRange - { - From = 6, - To = 10, - Action = new WriteLine - { - Text = "Case 6-10 selected", - } - } - }, - Default = new WriteLine { Text = "Default Case selected" } -}; -``` - -#### このサンプルを使用するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] を使用して、SwitchRange.sln ソリューション ファイルを開きます。 - -2. ソリューションをビルドするには、Ctrl キーと Shift キーを押しながら B キーを押します。 - -3. ソリューションを実行するには、Ctrl キーを押しながら F5 キーを押します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Scenario\ActivityLibrary\SwitchRange` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/custom-compensation-sample.md b/docs/framework/windows-workflow-foundation/samples/custom-compensation-sample.md deleted file mode 100644 index 24bd62d762f..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/custom-compensation-sample.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -title: カスタム補正のサンプル -ms.date: 03/30/2017 -ms.assetid: 385920da-9284-44bf-9fe9-0d87c7478ec5 -ms.openlocfilehash: ac141a48f87f5b14f6b528f7b3ceb7fdddeaf2d2 -ms.sourcegitcommit: 2eceb05f1a5bb261291a1f6a91c5153727ac1c19 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/04/2018 -ms.locfileid: "43503720" ---- -# カスタム補正のサンプル -このサンプルでは、 とその補正ハンドラーを使用してカスタム補正ロジックを定義する方法を示します。 このサンプルでは、トラック レンタル会社のシナリオをモデル化しています。 - -## サンプルの詳細 - シミュレートする手順は次のとおりです。 - -1. ユーザーが日付を指定してトラック レンタルの見積もりを要求します。 - -2. トラック会社 3 社に連絡して、3 つの見積もりを入手します。 - -3. ユーザーがトラックの見積もりを 1 つ選択し、クレジット カードでの注文に進みます。 - -4. アプリケーションで、他の 2 つのトラックの見積もりが取り消されます。 - -5. 利用予定日の 10 日前を過ぎてからの取り消しの場合にプレミアム アカウント以外には払い戻しされないサービス手数料が、アプリケーションで請求されます。 - -6. アプリケーションで、トラックのレンタル料金が請求されます。 - -7. アプリケーションは、利用予定日になるか顧客が予約を取り消すか、どちらか早い方まで待機します。 - -8. 顧客が予約を取り消した場合、次のロジックに従って カスタム補正ロジックが実行されます。 - - 1. 顧客がプレミアム アカウントでなく、かつ利用予定日の 10 日前を過ぎている場合、サービス手数料が請求されます。それ以外の場合は、サービス手数料が返金されます。 - - 2. 残りの補正可能なアクティビティ (トラックの注文 + トラックの注文料金) については、既定の補正ロジックに従って、逆の順序で補正が実行されます。 - -#### サンプルをセットアップ、ビルド、および実行するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] を使用して、CustomCompensation.sln ソリューション ファイルを開きます。 このソリューションは \WF\Basic\Compensation\CustomCompensation ディレクトリにあります。 - -2. Ctrl キーと Shift キーを押しながら B キーを押して、ソリューションをビルドします。 - -3. Ctrl キーを押しながら F5 キーを押してアプリケーションを実行します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Compensation\CustomCompensation` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/durable-delay-in-xamlx.md b/docs/framework/windows-workflow-foundation/samples/durable-delay-in-xamlx.md deleted file mode 100644 index 28c3963f706..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/durable-delay-in-xamlx.md +++ /dev/null @@ -1,68 +0,0 @@ ---- -title: XAMLX における永続的な遅延 -ms.date: 03/30/2017 -ms.assetid: efc38df4-2d34-453c-8e59-2c21d1307354 -ms.openlocfilehash: 1eef9211c67d190ecb5f329c481fa2e3d1763353 -ms.sourcegitcommit: 6eac9a01ff5d70c6d18460324c016a3612c5e268 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/14/2018 -ms.locfileid: "45594109" ---- -# XAMLX における永続的な遅延 -このサンプルでは、永続的な遅延を使用する方法を示します。これは、遅延の間、ワークフローを永続的なデバイスに永続化する遅延のことです。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Services\DurableDelayXamlx` - -## 説明 - このサンプル ワークフローには、遅延によって分割された 2 つのローカル ファイルへのメッセージが含まれています。 遅延が発生すると、ワークフローがアンロードされ、ワークフローはメモリに再読み込みされるまでワークフロー インスタンス ストアで 5 秒間待機します。 - - .Xamlx ファイルは、Visual Studio でホストされるワークフロー サービスです。 Visual Studio では、ワークフロー ホストにワークフロー サービスを使用する Cassini を使用します。 - - ワークフロー サービス ホストは、ワークフローをホストするだけでなく、読み込みとアンロードを行うことによってワークフロー インスタンスを管理します。 Windows Workflow Foundation (WF) の定義 (ワークフロー サービス ホスト) 上のインスタンスを開始する設定へのメッセージを送信するクライアントをワークフロー内のアクティビティ。 この は、 プロパティが `true` に設定されているため、メッセージを受信した後にワークフローの新しいインスタンスを作成できます。 - - 初期化中に、ワークフロー サービス ホストに対してインスタンスを永続化ストア (データベース) にアンロードするように指定する、インスタンスのアンロード動作が構成ファイルに追加されます。 このサンプルでは、(遅延が発生して) ワークフローがアイドル状態になった直後にインスタンスがアンロードされます。 - -#### このサンプルを使用するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] のコマンド プロンプトを開きます。 - -2. DurableDelayXamlx\CS フォルダーに移動します。 - -3. Setup.cmd を実行します。 - -4. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] を管理者として実行します。 - -5. DurableDelayXamlx.sln ソリューション ファイルを開きます。 - -6. **ソリューション エクスプ ローラー**ソリューションを右クリックし、選択、**プロパティ**します。 - -7. 選択**マルチ スタートアップ プロジェクト**に両方のプロジェクトを設定および**開始**します。 - -8. ソリューションをビルドするには、Ctrl キーと Shift キーを押しながら B キーを押します。 - -9. ソリューションを実行するには、Ctrl キーを押しながら F5 キーを押します。 - -#### このサンプルをアンインストールするには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] のコマンド プロンプトを開きます。 - -2. DurableDelayXamlx\CS フォルダーに移動します。 - -3. Cleanup.cmd を実行します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Services\DurableDelayXamlX` diff --git a/docs/framework/windows-workflow-foundation/samples/durable-delay.md b/docs/framework/windows-workflow-foundation/samples/durable-delay.md deleted file mode 100644 index 0999dcfec3b..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/durable-delay.md +++ /dev/null @@ -1,71 +0,0 @@ ---- -title: 永続的な遅延 -ms.date: 03/30/2017 -ms.assetid: 220ec240-b958-430c-81ff-b734a6aa97ae -ms.openlocfilehash: 2a7692e28d60232913ae5d11a90025e59664c0e5 -ms.sourcegitcommit: 2eceb05f1a5bb261291a1f6a91c5153727ac1c19 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/04/2018 -ms.locfileid: "43507634" ---- -# 永続的な遅延 -このサンプルでは、永続的な遅延を使用する方法を示します。これは、遅延の間、ワークフローを永続的なデバイスに永続化する遅延のことです。 このサンプル ワークフローには、遅延によって分割された 2 つのコンソールへのメッセージが含まれています。 遅延が発生すると、ワークフローがアンロードされ、ワークフローはメモリに再読み込みされるまでワークフロー インスタンス ストアで 5 秒間待機します。 - -## ワークフローの詳細 - ワークフロー サービス ホストは、ワークフローをホストし、読み込みとアンロードを行うことによってワークフロー インスタンスを管理します。 ワークフロー定義のインスタンスを開始するために、このサンプルでは、ワークフローの アクティビティにメッセージを送信するプロキシを設定します。 プロパティを `true` に設定し、このプロパティがメッセージを受信したらワークフローの新しいインスタンスを作成できるようにします。 - - 初期化時のワークフロー サービス ホストによる設定の詳細を次に示します。 - -1. アドレスを持つサービス ホストを作成します (http://localhost:8080/Client)します。 - -2. ワークフロー内で アクティビティとの通信を可能にする、サービス ホストのエンドポイントを作成します。 - -3. SQL インスタンス ストアを設定します。 - -4. ワークフロー サービス ホストがワークフロー インスタンスを SQL 永続化ストアにアンロードする条件を指定する、インスタンスのアンロード動作を追加します。 このサンプルでは、(遅延が発生して) ワークフローがアイドル状態になった直後にインスタンスがアンロードされます。 - -5. ワークフローの アクティビティにメッセージを送信するプロキシを作成します。 - -#### このサンプルを使用するには - -1. 永続性データベースを設定します。 - - 1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] のコマンド プロンプトを開きます。 - - 2. 移動し、[!INCLUDE[dnprdnshort](../../../../includes/dnprdnshort-md.md)]ディレクトリ (C:\Windows\Microsoft.NET\Framework\v4 します。X\\)。 - - 3. WorkflowManagementService.exe.config ファイルを編集し、<`database`> 要素内に次の接続文字列を追加します。 - - ```xml - - ``` - - 4. DurableDelay\CS ディレクトリに移動します。 - - 5. Setup.cmd を実行します。 - -2. 実行[!INCLUDE[vs2010](../../../../includes/vs2010-md.md)]を右クリックし、昇格されたアクセス許可を使用して、[!INCLUDE[vs2010](../../../../includes/vs2010-md.md)]アイコンを**管理者として実行**します。 - -3. Delay.sln ソリューション ファイルを開きます。 - -4. Ctrl キーと Shift キーを押しながら B キーを押して、ソリューションをビルドします。 - -5. Ctrl キーを押しながら F5 キーを押してソリューションを実行します。 - -#### このサンプルをアンインストールするには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] のコマンド プロンプトを開きます。 - -2. DurableDelay\CS ディレクトリに移動します。 - -3. Cleanup.cmd を実行します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Services\DurableDelay` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/durable-duplex.md b/docs/framework/windows-workflow-foundation/samples/durable-duplex.md deleted file mode 100644 index ae3cf9de35f..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/durable-duplex.md +++ /dev/null @@ -1,184 +0,0 @@ ---- -title: 永続的な二重 -ms.date: 03/30/2017 -ms.assetid: 4e76d1a1-f3d8-4a0f-8746-4a322cdff6eb -ms.openlocfilehash: 107c617fa4a8ee0279dcaa07e495587c617b866e -ms.sourcegitcommit: 2eceb05f1a5bb261291a1f6a91c5153727ac1c19 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/04/2018 -ms.locfileid: "43513354" ---- -# 永続的な二重 -このサンプルを設定し、Windows Workflow Foundation (WF) でメッセージング アクティビティを使用して永続的な双方向メッセージ交換を構成する方法を示します。 永続的な双方向メッセージ交換は、長期間行われる双方向メッセージ交換です。 メッセージ交換の有効期間は、通信チャネルの有効期間およびサービス インスタンスのメモリ内有効期間よりも長い場合があります。 - -## サンプルの詳細 - このサンプルでは、Windows Workflow Foundation を使用して実装されている 2 つの Windows Communication Foundation (WCF) サービスは、永続的な双方向メッセージ交換が構成されます。 永続的な双方向メッセージ交換が MSMQ を介して送信され、相関を使用して、2 つの一方向メッセージから構成される[.NET コンテキスト交換](https://go.microsoft.com/fwlink/?LinkID=166059)します。 これらのメッセージは、 メッセージング アクティビティと メッセージング アクティビティを使用して送信されます。 .NET コンテキスト交換は、送信メッセージに対してコールバック アドレスを指定するために使用します。 どちらのサービスも Windows プロセス アクティブ化サービス (WAS) を使用してホストされ、サービス インスタンスの永続化を有効にするように構成されます。 - - 1 つ目のサービス (Service1.xamlx) は、処理を実行する送信サービス (Service2.xamlx) に要求を送信します。 処理が完了したら、Service2.xamlx は、処理が完了したことを示す通知を Service1.xamlx に送り返します。 ワークフロー コンソール アプリケーションによって、サービスがリッスンするキューが設定され、Service1.xamlx をアクティブ化するために最初の開始メッセージが送信されます。 Service1.xamlx は、要求した処理が完了したことを示す通知を Service2.xamlx から受け取ったら、結果を XML ファイルに保存します。 コールバック メッセージを待機している間、Service1.xamlx は既定の を使用してインスタンスの状態を永続化します。 Service2.xamlx は、Service1.xamlx によって要求された処理を完了する一環としてインスタンスの状態を永続化します。 - - MSMQ を介して .NET コンテキスト交換を使用するようにサービスを構成するために、 から成るカスタム バインディングを使用するように両方のサービスが構成されます。 ではコールバック アドレスが指定され、カスタム バインディングを使用して送信されるすべてのメッセージのコールバック コンテキスト ヘッダーに含まれます。 カスタム バインディングを定義するコード例を次に示します。 - -```xml - - - … - - - - - - - - - - - … - - -``` - -> [!NOTE] -> このサンプルで使用するバインディングはセキュリティで保護されていません。 アプリケーションを配置するときに、アプリケーションのセキュリティ要件に基づいてバインディングを構成する必要があります。 - -> [!NOTE] -> このサンプルで使用するキューはトランザクション キューではありません。 トランザクション キューを使用して WCF メッセージの交換を設定する方法を示すサンプルを参照してください、 [MSMQ アクティベーション](../../../../docs/framework/wcf/samples/msmq-activation.md)サンプル。 - - Service1.xamlx によって Service2.xamlx に送信されるメッセージは、Service2.xamlx のアドレスと前に定義したカスタム バインドを使用して構成されるクライアント エンドポイントを使用して送信されます。 Service2.xamlx から Service1.xamlx へのコールバックは、アドレスが明示的に構成されていないクライアント エンドポイントを使用して送信されます。アドレスは、Service1.xamlx によって送信されるコールバック コンテキストから取得されます。 クライアント エンドポイントを定義するコード例を次に示します。 - -```xml - - - - … - - - - - … - - -``` - - このカスタム バインディングを使用するように net.msmq ベース アドレスの既定のプロトコル マッピングを変更することで、このカスタム バインディングを使用するエンドポイントを公開するコード例を次に示します。 - -```xml - - - - - - … - - -``` - - の動作を両方のサービスに追加して永続性データベースの接続文字列を指定することで、両方のサービスの永続化を有効にするコード例を次に示します。 - -```xml - - - - … - - - - - - - - - - - -``` - -## システム要件 - このサンプルには、次のコンポーネントが必要です。 - -1. インターネット インフォメーション サービス。 - -2. [Internet Information Services] -> [IIS 6 と互換性のある管理] -> [IIS メタベースおよび IIS 6 構成との互換性]。 - -3. [World Wide Web サービス] -> [アプリケーション開発機能] -> [ASP.NET]。 - -4. Microsoft メッセージ キュー (MSMQ) サーバー。 - -#### このサンプルを使用するには - -1. 永続性データベースと結果ディレクトリを設定します。 - - 1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] のコマンド プロンプトを開きます。 - - 2. このサンプルのフォルダーに移動して Setup.cmd を実行します。 - -2. 仮想アプリケーションを設定します。 - - 1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] コマンド プロンプトから次のコマンドを実行し、ASP.NET を登録します。 - - ``` - aspnet_regiis -i - ``` - - 2. 実行[!INCLUDE[vs2010](../../../../includes/vs2010-md.md)]を右クリックし、管理者のアクセス許可を持つ[!INCLUDE[vs2010](../../../../includes/vs2010-md.md)]選択**管理者として実行**します。 - - 3. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] を使用して、DurableDuplex.sln ファイルを開きます。 - -3. サービス キューを設定します。 - - 1. DurableDuplex クライアントを実行するために、F5 キーを押します。 - - 2. 開く、**コンピュータの管理**コンソールを実行して`Compmgmt.msc`コマンド プロンプトからです。 - - 3. 展開**サービスとアプリケーション**、**メッセージ キュー**します。 **専用キュー**します。 - - 4. Durableduplex/service1.xamlx キューと durableduplex/service2.xamlx キューを右クリックして**プロパティ**します。 - - 5. 選択、**セキュリティ**でき、タブ**のすべてのユーザーが表示されるメッセージ**、**メッセージのピーク**と**メッセージの送信**両方のキューのアクセス許可。 - - 6. インターネット インフォメーション サービス (IIS) マネージャーを開きます。 - - 7. 参照する**サーバー**、**サイト**、 **Default Web site**、**プライベート**、**永続的な二重**し選択します**詳細オプション**します。 - - 8. 変更、**有効なプロトコル**に**http, net.msmq**します。 - -4. サンプルを実行します。 - - 1. 参照する http://localhost/private/durableduplex/service1.xamlxと http://localhost/private/durableduplex/service2.xamlxに両方のサービスが実行されていることを確認します。 - - 2. F5 キーを押して DurableDuplexClient を実行します。 - - 永続的な双方向メッセージ交換が完了したら、メッセージ交換の結果を示す result.xml ファイルが C:\Inbox フォルダーに保存されます。 - -#### クリーンアップするには (省略可能) - -1. Cleanup.cmd を実行します。 - - 1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] のコマンド プロンプトを開きます。 - - 2. このサンプルのフォルダーに移動して Cleanup.cmd を実行します。 - -2. サービスの仮想アプリケーションを削除します。 - - 1. 実行して、インターネット インフォメーション サービス (IIS) マネージャーを開きます`Inetmgr.exe`コマンド プロンプトからです。 - - 2. 既定の Web サイトを参照し、削除、**プライベート**仮想ディレクトリ。 - -3. このサンプルに対して設定されているキューを削除します。 - - 1. 実行して、コンピューターの管理コンソールを開く`Compmgmt.msc`コマンド プロンプトからです。 - - 2. 展開**サービスとアプリケーション**、**メッセージ キュー**、**専用キュー**します。 - - 3. durableduplex/service1.xamlx キューと durableduplex/service2.xamlx キューを削除します。 - -4. C:\Inbox ディレクトリを削除します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Services\DurableDuplex` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/dynamic-arguments.md b/docs/framework/windows-workflow-foundation/samples/dynamic-arguments.md deleted file mode 100644 index d3f092ede57..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/dynamic-arguments.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -title: 動的引数 -ms.date: 03/30/2017 -ms.assetid: 122ad479-d306-4602-a943-5aefe711329d -ms.openlocfilehash: dcf6b84889f3bd7d043f736336c39634cd5384c7 -ms.sourcegitcommit: 2eceb05f1a5bb261291a1f6a91c5153727ac1c19 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/04/2018 -ms.locfileid: "43530442" ---- -# 動的引数 -このサンプルでは、アクティビティの作成者ではなくアクティビティのコンシューマーによって引数が定義されるアクティビティの実装方法を示します。 ここではそのために、ランタイムによるアクティビティのメタデータの構築方法をオーバーライドします。 - -## サンプルの詳細 - ランタイムは、実行前にアクティビティの記述を構築します。これは、アクティビティ型のパブリック メンバーを調べて、引数、変数、子アクティビティ、およびアクティビティ デリゲートをアクティビティのメタデータの一部として自動的に宣言することによって行われます。 これにより、ワークフローが正しく構築されるようにすると同時に、ランタイム リレーションシップおよび有効期間ルールを管理します。 通常は、アクティビティの作成者が、 から派生するパブリック メンバーをアクティビティ型で指定することによってアクティビティの引数を定義します。 ランタイムにより、 から派生する各パブリック メンバーに対して が作成され、そのメンバーに対してユーザーが指定した引数にバインドされます。 しかし、アクティビティのコンシューマーが指定する構成によって引数のセットが決まる場合もあります。 アクティビティの作成者がアクティビティのメタデータ (アクティビティに関連付けられる引数のセットを含む) の構築方法をカスタマイズするには、 をオーバーライドします。 - - このサンプルでは、メソッドを呼び出すアクティビティの引数リストを動的に構築する方法を示します。 アクティビティのコンシューマーが、型および呼び出すメソッドの名前を、そのメソッドに渡す引数のコレクションと共に指定します。 - -> [!NOTE] -> このサンプルの目的は、 をオーバーライドする方法と、 を使用する方法を示すことです。 このアクティビティで呼び出すことのできるメソッドの種類に関しては、いくつかの注意事項があります。 たとえば、ジェネリックやパラメーター配列は使用できません。 .NET Framework に含まれている アクティビティにはこのような制限はありません。 - - `MethodInvoke` をオーバーライドする アクティビティは、まず最初に、メソッド呼び出しの結果を処理するための を作成し、 という名前のパブリックに設定可能な にバインドします `Result`。 `MethodInvoke.Result` が `null` の場合は、その型の既定の式で構成された が自動的に設定されるため、 引数のプロパティが `null` かどうかをアクティビティの作成者が確認する必要はありません。 - - 次に、 のオーバーライドにより、ユーザーによって指定された `MethodInfo` および `MethodName` から、呼び出しに使用する `TargetType` が特定されます。 `DetermineMethodInfo` メソッドは、 のオーバーライドに渡された パラメーターを受け取るため、構成エラーがあった場合には検証エラーとして報告できます。 これは、`metadata.AddValidationError` を呼び出すことによって行われます。 - - `MethodInfo` が設定されると、`MethodInfo` のパラメーターが反復処理されて、 各パラメーターに対して が作成され、`Parameters` プロパティのユーザーが指定したコレクションの対応する引数にバインドされます。 最後に、 が呼び出されて、`metadata.SetArgumentsCollection` のコレクションがアクティビティに関連付けられます。 - - 引数の解決には、 の場合のように `resultArgument` を使用することも、`Parameters` コレクションの場合のようにユーザーが指定した引数を使用することもできます。 - -#### このサンプルを使用するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] を使用して、DynamicArguments.sln ファイルを開きます。 - -2. ソリューションをビルドするには、Ctrl キーと Shift キーを押しながら B キーを押します。 - -3. ソリューションを実行するには、Ctrl キーを押しながら F5 キーを押します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\CustomActivities\Code-Bodied\DynamicArguments` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/dynamicactivity-creation.md b/docs/framework/windows-workflow-foundation/samples/dynamicactivity-creation.md deleted file mode 100644 index 7e672bf312c..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/dynamicactivity-creation.md +++ /dev/null @@ -1,148 +0,0 @@ ---- -title: DynamicActivity の作成 -ms.date: 03/30/2017 -ms.assetid: d8ebe82f-98c8-4452-aed7-2c60a512b097 -ms.openlocfilehash: 270066fafd5c71b2a720ca305433159c172872aa -ms.sourcegitcommit: 3c1c3ba79895335ff3737934e39372555ca7d6d0 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/05/2018 -ms.locfileid: "43777488" ---- -# DynamicActivity の作成 -このサンプルでは、 アクティビティを使用して実行時にアクティビティを作成する 2 つの異なる方法を示します。 - - このサンプルでは、 アクティビティと アクティビティを含む アクティビティが本体に含まれたアクティビティを実行時に作成します。 整数の入力リストがこのアクティビティに渡され、プロパティとして設定されます。 次に、 アクティビティは値のリストを反復処理し、累計します。 アクティビティでは、累計値をリスト内の要素数で除算して平均値を計算し、その値を平均に代入します。 - - このサンプルでは、入力引数として変数に設定され、出力引数として戻り値に設定される アクティビティを使用します。 このアクティビティには、整数のリストである `Numbers` という名前の 1 つの入力引数があります。 アクティビティは値のリストを反復処理し、累計します。 アクティビティでは、累計値をリスト内の要素数で除算して平均値を計算し、その値を平均に代入します。 平均は、`Average` という名前の出力引数として返されます。 - - 動的アクティビティをプログラムで作成する場合は、次のコード例に示すように入力と出力を宣言します。 - -```csharp -DynamicActivity act = new DynamicActivity() -{ - DisplayName = "Find average", - Properties = - { - // Input argument - new DynamicActivityProperty - { - Name = "Numbers", - Type = typeof(InArgument>), - Value = numbers - }, - // Output argument - new DynamicActivityProperty - { - Name = "Average", - Type = typeof(OutArgument), - Value = average - } - }, -}; -``` - - リスト内の値の平均を計算する `DynamicActivity` の完全な定義を次のコード例に示します。 - -``` -DynamicActivity act = new DynamicActivity() -{ - DisplayName = "Find average", - Properties = - { - // Input argument - new DynamicActivityProperty - { - Name = "Numbers", - Type = typeof(InArgument>), - Value = numbers - }, - // Output argument - new DynamicActivityProperty - { - Name = "Average", - Type = typeof(OutArgument), - Value = average - } - }, - Implementation = () => - new Sequence - { - Variables = { result, accumulator }, - Activities = - { - new ForEach - { - Values = new ArgumentValue> { ArgumentName = "Numbers" }, - Body = new ActivityAction - { - Argument = iterationVariable, - Handler = new Assign - { - To = accumulator, - Value = new InArgument(env => iterationVariable.Get(env) + accumulator.Get(env)) - } - } - }, - - // Calculate the average and assign to the output argument. - new Assign - { - To = new ArgumentReference { ArgumentName = "Average" }, - Value = new InArgument(env => accumulator.Get(env) / numbers.Get(env).Count()) - }, - } - } -}; -``` - - XAML で作成する場合は、次の例に示すように入力と出力を宣言します。 - -```xml - - - - - - ... - ... - -``` - - XAML は、[!INCLUDE[wfd1](../../../../includes/wfd1-md.md)] を使用して視覚的に作成できます。 Visual Studio プロジェクトに含まれている場合は、「ビルド アクション」を"None"にコンパイルされるを防ぐために設定することを確認します。 その後、XAML は、次の呼び出しを使用して動的に読み込むことができます。 - -``` -Activity act2 = ActivityXamlServices.Load(@"FindAverage.xaml"); -``` - - プログラムによって、または XAML ワークフローを読み込むことによって作成された インスタンスは、次のコード例に示すように使用できます。 渡される"act"ことに注意してください、 `WorkflowInvoker.Invoke` "act"は、最初のコード例で定義されています。 - -``` -IDictionary results = WorkflowInvoker.Invoke(act, new Dictionary { { "Numbers", numbers } }); - -Console.WriteLine("The average calculated using the code activity is = " + results["Average"]); -``` - -#### このサンプルを使用するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] を使用して、DynamicActivityCreation.sln ソリューション ファイルを開きます。 - -2. ソリューションをビルドするには、Ctrl キーと Shift キーを押しながら B キーを押します。 - -3. ソリューションを実行するには、Ctrl キーを押しながら F5 キーを押します。 - -## [コマンド ライン引数] - このサンプルでは、コマンド ライン引数を受け取ります。 ユーザーは、アクティビティで平均を計算する対象となる数値のリストを指定できます。 使用する数値のリストは、スペースで区切られた数値のリストとして渡します。 たとえば、5、10、および 32 の平均を計算するには、次のコマンド ラインを使用してこのサンプルを呼び出します。 - - **DynamicActivityCreation 5 10 32** -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Built-InActivities\DynamicActivity\DynamicActivityCreation` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/emulating-breaking-in-a-while-activity.md b/docs/framework/windows-workflow-foundation/samples/emulating-breaking-in-a-while-activity.md deleted file mode 100644 index 7b23277d029..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/emulating-breaking-in-a-while-activity.md +++ /dev/null @@ -1,82 +0,0 @@ ---- -title: While アクティビティでの中断のエミュレート -ms.date: 03/30/2017 -ms.assetid: ddff715d-d623-4b54-b841-60bacbc3ca21 -ms.openlocfilehash: 4938e07364609520f6528688877bce112be26d3f -ms.sourcegitcommit: c7f3e2e9d6ead6cc3acd0d66b10a251d0c66e59d -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/09/2018 -ms.locfileid: "44253300" ---- -# While アクティビティでの中断のエミュレート -このサンプルでは、、および の各アクティビティのループ機構を中断する方法を示します。 - - これは、機能は、Windows Workflow Foundation (WF) にこれらのループの実行を中断するアクティビティが含まれていないため便利です。 - -## シナリオ - このサンプルでは、ベンダー (`Vendor` クラスのインスタンス) のリストから信頼できるベンダーを探し、最初に見つかったベンダーを取得します。 各ベンダーには、`ID`、`Name`、およびそのベンダーがどの程度信頼できるかを示す信頼度の数値があります。 このサンプルでは、`FindReliableVendor` というカスタム アクティビティを作成します。このアクティビティは、2 つの入力パラメーター (ベンダーのリストと信頼度の最小値) を受け取り、リストのベンダーのうち、指定された条件に一致する最初のベンダーを返します。 - -## ループの中断 - Windows Workflow Foundation (WF) では、ループを中断するアクティビティは含まれません。 コード サンプルでは、 アクティビティといくつかの変数を使用してループの中断を実現します。 このサンプルでは、 変数に `reliableVendor` 以外の値が代入されると、`null` アクティビティが中断されます。 - - while ループを中断する方法を示すコード例を次に示します。 - -```csharp -// Iterates while the "i" variable is lower than the size of the list -// and any reliable Vendor is found. -new While(env => i.Get(env) < this.Vendors.Get(env).Count && reliableVendor.Get(env) == null) -{ - DisplayName = "Main loop. Breaks when a reliable vendor is found", - Body = new Sequence - { - Activities = - { - // This is the if used for setting the value of the break value… - new If - { - DisplayName = "Check for a reliable vendor", - - // If a vendor satisfies the reliability level… - Condition = new InArgument(env => - this.Vendors.Get(env)[i.Get(env)].Reliability > - this.MinimumReliability.Get(env)), - - // then assign that vendor to the reliable vendor variable and - // the while condition becomes false (exit the loop). - Then = new Assign - { - To = reliableVendor, - Value = new InArgument(env => - this.Vendors.Get(env)[i.Get(env)]) - } - }, - - // Increment the iteration variable. - new Assign - { - DisplayName = "Increment iteration variable", - To = i, - Value = new InArgument(env => i.Get(env) + 1) - } - } - } -} -``` - -#### このサンプルを使用するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] を使用して、EmulatingBreakInWhile.sln ソリューション ファイルを開きます。 - -2. ソリューションをビルドするには、Ctrl キーと Shift キーを押しながら B キーを押します。 - -3. ソリューションを実行するには、Ctrl キーを押しながら F5 キーを押します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Built-InActivities\EmulatingBreakInWhile` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/entity-activities.md b/docs/framework/windows-workflow-foundation/samples/entity-activities.md deleted file mode 100644 index cd8588ff517..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/entity-activities.md +++ /dev/null @@ -1,257 +0,0 @@ ---- -title: エンティティ アクティビティ -ms.date: 03/30/2017 -ms.assetid: c04f7413-7fb8-40c6-819e-dc92b145b62e -ms.openlocfilehash: 03bd0e42c70f1226558d492bcb3b2cfa5c7010f2 -ms.sourcegitcommit: 3c1c3ba79895335ff3737934e39372555ca7d6d0 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/06/2018 -ms.locfileid: "43861154" ---- -# エンティティ アクティビティ -このサンプルでは、Windows Workflow Foundation と ADO.NET Entity Framework を使用して、データ アクセスを簡略化する方法を示します。 - - ADO.NET Entity Framework を使用すると、開発者は、ドメイン固有のオブジェクト、プロパティ、およびリレーションシップ (Customers、Orders、Order Details、およびこれらのエンティティ間のリレーションシップなど) の形式でデータを扱うことができます。 ADO.NET Entity Framework では、この機能を実現するために、リレーショナル ストレージ スキーマに対して直接プログラムを作成するのではなく、概念アプリケーション モデルに対してプログラムを作成できる抽象化レベルを提供します。 ADO.NET Entity Framework の参照の詳細については[ADO.NET Entity Framework](https://go.microsoft.com/fwlink/?LinkId=165549)します。 - -## サンプルの詳細 - このサンプルでは、`Northwind` データベースを使用します。また、`Northwind` データベースを作成および削除するためのスクリプトが用意されています (Setup.cmd と Cleanup.cmd)。 このサンプルのプロジェクトには、`Northwind` データベースに基づく Entity Data Model が含まれています。 このモデルは、プロジェクトに含まれている `Northwind.edmx` ファイルを開くことで見つかります。 これは、ADO.NET Entity Framework を使用してアクセスできるオブジェクトの形状を定義するモデルです。 - - このサンプルには、次のアクティビティがあります。 - -- `EntitySQLQuery`: `EntitySQLQuery` アクティビティを使用すると、Entity SQL クエリ文字列に基づいてデータベースからオブジェクトを取得できます。 Entity SQL はストレージに依存しない SQL と似たクエリ言語です。この言語では、概念モデルに基づいて、またモデルまたはドメインの一部であるエンティティに基づいて、クエリを指定できます。 Entity SQL 言語の詳細については、次を参照してください。 [Entity SQL 言語](https://go.microsoft.com/fwlink/?LinkId=165646)します。 - -- `EntityLinqQuery`: このアクティビティを使用すると、LINQ クエリまたは LINQ 述語に基づいてデータベースからオブジェクトを取得できます。 - -- `EntityAdd`: `EntityAdd` アクティビティを使用すると、エンティティまたはエンティティのコレクションをデータベースに追加できます。 - -- `EntityDelete`: `EntityDelete` アクティビティを使用すると、エンティティまたはエンティティのコレクションをデータベースから削除できます。 - -- `ObjectContextScope`: 前に説明した各アクティビティは、これらを格納する `ObjectContextScope` アクティビティ インスタンス内でしか使用できません。 `ObjectContextScope` アクティビティは、データベースへの接続を設定します。 これには接続文字列が必要です (接続文字列は、構成ファイルの設定を使用して渡すか取得します)。 `ObjectContextScope` アクティビティにより、エンティティに対して、関連する操作のグループを簡単に実行できるようになります。 このスコープはアクティブな接続を維持するので、非永続的スコープです。 また、`ObjectContextScope` アクティビティが存在する場合、そのスコープ内でエンティティ アクティビティを使用して取得したオブジェクトに対する変更は、データベースに自動的に永続化され、オブジェクトをデータベースに保存するのに明示的な操作や追加の操作は必要ありません。 - -## エンティティ アクティビティの使用 - 以下の各コード スニペットは、このサンプルに含まれているエンティティ アクティビティを使用する方法を示しています。 - -### EntitySql - 次のコード スニペットは、ロンドン在住のすべての顧客を照会して名前で並べ替える方法、および顧客のリストを反復処理する方法を示しています。 - -``` -Variable> londonCustomers = new Variable>(); -DelegateInArgument iterationVariable = new DelegateInArgument(); - -// create and return the workflow -return new ObjectContextScope -{ - ConnectionString = new InArgument(connStr), - ContainerName = "NorthwindEntities", - Variables = { londonCustomers }, - Body = new Sequence - { - Activities = - { - new WriteLine { Text = "Executing query" }, - // query for all customers that are in london - new EntitySqlQuery - { - EntitySql = @"SELECT VALUE Customer - FROM NorthwindEntities.Customers AS Customer - WHERE Customer.City = 'London' - ORDER BY Customer.ContactName", - Result = londonCustomers - }, - - // iterate through the list of customers and display them - new ForEach - { - Values = londonCustomers, - Body = new ActivityAction - { - Argument = iterationVariable, - Handler = new WriteLine - { - Text = new InArgument(e => - iterationVariable.Get(e).ContactName) - } - } - } - } - } -}; -``` - -### EntityLinqQuery - 次のコード スニペットは、ロンドン在住のすべての顧客を照会する方法、および結果として得られた顧客のリストを反復処理する方法を示しています。 - -``` -Variable> londonCustomers = new Variable>() { Name = "LondonCustomers" }; -DelegateInArgument iterationVariable = new DelegateInArgument() { Name = "iterationVariable" }; - -return new ObjectContextScope -{ - ConnectionString = new InArgument(connStr), - ContainerName = "NorthwindEntities", - Variables = { londonCustomers }, - Body = new Sequence - { - Activities = - { - // return all the customers that match with the provided Linq predicate - new EntityLinqQuery - { - Predicate = new LambdaValue>( - ctx => new Func(c => c.City.Equals("London"))), - Result = londonCustomers - }, - - // iterate through the list of customers and display in the console - new ForEach - { - Values = londonCustomers, - Body = new ActivityAction - { - Argument = iterationVariable, - Handler = new WriteLine - { - Text = new InArgument(e => - iterationVariable.Get(e).ContactName) - } - } - } - } - } -}; -``` - -### EntityAdd - 次のコード スニペットは、OrderDetail レコードを既存の Order に追加する方法を示しています。 - -``` -Variable> orders = new Variable>(); -Variable> orderDetails = new Variable>(); -Variable order = new Variable(); -Variable orderDetail = new Variable(); - -return new ObjectContextScope -{ - Variables = { order, orders, orderDetail, orderDetails }, - ContainerName = "NorthwindEntities", - ConnectionString = new InArgument(connStr), - Body = new Sequence - { - Activities = - { - // get the order where we want to add the detail - new EntitySqlQuery - { - EntitySql = - @"SELECT VALUE [Order] - FROM NorthwindEntities.Orders as [Order] - WHERE Order.OrderID == 10249", - Result = orders - }, - - // store the order in a variable - new Assign - { - To = new OutArgument(order), - Value = new InArgument(c => orders.Get(c).First()) - }, - - // add the detail to the order - new EntityAdd - { - Entity = new InArgument(c => - new OrderDetail { - OrderID=10249, ProductID=11, - Quantity=1, UnitPrice = 15, - Discount = 0, Order = order.Get(c) }) - } - } - } -}; -``` - -### EntityDelete - 次のコード スニペットは、Order の既存の OrderDetail レコードを削除する方法を示しています (OrderDetail レコードがある場合)。 - -``` -Variable> orderDetails = new Variable>(); - -return new ObjectContextScope -{ - Variables = { orderDetails }, - ConnectionString = new InArgument(connStr), - ContainerName = "NorthwindEntities", - Body = new Sequence - { - Activities = - { - // find the entitiy to be deleted (order detail for product 11 in order 10249) - new EntitySqlQuery - { - EntitySql = @"SELECT VALUE OrderDetail - FROM NorthwindEntities.OrderDetails as OrderDetail - WHERE OrderDetail.OrderID == 10249 - AND OrderDetail.ProductID == 11", - Result = orderDetails - }, - - // if the order detail is found, delete it, otherwise, display a message - new If - { - Condition = new InArgument(c=>orderDetails.Get(c).Count() > 0), - Then = new Sequence - { - Activities = - { - new EntityDelete - { - Entity = new InArgument(c => - orderDetails.Get(c).First()) - }, - } - }, - Else = new WriteLine { Text = "Order Detail for Deleting not found" } - } - } - } -}; -``` - -## このサンプルを使用するには - このサンプルを実行する前に、SQL Server Express のローカル インスタンスに `Northwind` データベースを作成する必要があります。 - -#### Northwind データベースを設定するには - -1. コマンド プロンプトを開きます。 - -2. 新しいコマンド プロンプト ウィンドウで、EntityActivities\CS フォルダーに移動します。 - -3. 型`setup.cmd`ENTER キーを押します。 - -#### サンプルを実行するには - -1. [!INCLUDE[vs_current_long](../../../../includes/vs-current-long-md.md)] を使用して、EntityActivities.sln ソリューション ファイルを開きます。 - -2. ソリューションをビルドするには、Ctrl キーと Shift キーを押しながら B キーを押します。 - -3. ソリューションを実行するには、Ctrl キーを押しながら F5 キーを押します。 - - このサンプルの実行後、`Northwind` データベースの削除が必要になる場合があります。 - -#### Northwind データベースをアンインストールするには - -1. コマンド プロンプトを開きます。 - -2. 新しいコマンド プロンプト ウィンドウで、EntityActivities\CS フォルダーに移動します。 - -3. 型`cleanup.cmd`ENTER キーを押します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Scenario\ActivityLibrary\EntityActivities` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/execute-a-workflow-in-an-imperative-transactionscope.md b/docs/framework/windows-workflow-foundation/samples/execute-a-workflow-in-an-imperative-transactionscope.md deleted file mode 100644 index 5d1eb70ddea..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/execute-a-workflow-in-an-imperative-transactionscope.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -title: 命令型 TransactionScope でのワークフローの実行 -ms.date: 03/30/2017 -ms.assetid: bd0e8686-c1d0-4400-a541-da94ed03afc7 -ms.openlocfilehash: 2744434e807664ca93b4f5bc27a1f3b89716ce87 -ms.sourcegitcommit: 2eceb05f1a5bb261291a1f6a91c5153727ac1c19 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/04/2018 -ms.locfileid: "43520171" ---- -# 命令型 TransactionScope でのワークフローの実行 -このサンプルでは、命令型 C# コードから を使用してワークフローを実行する方法を示します。 - -## サンプルの詳細 - 命令型 C# コードで、 を使用して、同じトランザクションで実行される一連の作業をカプセル化します。 は、アンビエント トランザクションを作成し、 プロパティを初期化することによって機能します。初期化後、このプロパティには、そのスレッドで実行されるどの作業からでもアクセスできます。 - - ワークフローではアクティビティ間でスレッド アフィニティが維持されないため、ワークフローで同等の動作を実現するには、ランタイムで、追加の作業として各アクティビティの実行前に を初期化する必要があります。 このランタイムによるサポートの結果として、 内で を使用してワークフローを実行するとき、すべてのアクティビティが、 によって作成されたアンビエント トランザクションのコンテキストで実行されるようになります。 - - ワークフローではワークフロー インスタンスごとに 1 つのアンビエント トランザクションしか使用できず、入れ子になったトランザクションは使用できません。 ワークフローに アクティビティがある場合でも、新しい内側のトランザクションは作成されません。 代わりに、ワークフロー外で作成されたアンビエント トランザクションが再利用されます。 - - このサンプルでは、新しい を開始し、トランザクション ID を出力して、 によってワークフローを開始します。 ワークフローではトランザクション ID を再度出力し (これにより、同じトランザクションであることが示されます)、 を実行して、完了します。 での の呼び出しは同期的であるので、元のスレッドはワークフローが完了するまでブロックされます。 ワークフローが完了すると、トランザクションが完了し、リソースが破棄されます。 - -#### このサンプルを使用するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] を使用して、ImperativeTransactionSample.sln ソリューション ファイルを開きます。 - -2. ソリューションをビルドするには、Ctrl キーと Shift キーを押しながら B キーを押します。 - -3. ソリューションを実行するには、F5 キーを押します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Scenario\Transactions\ImperativeTransaction` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/execution-properties.md b/docs/framework/windows-workflow-foundation/samples/execution-properties.md deleted file mode 100644 index 7c4542632a9..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/execution-properties.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -title: 実行プロパティ -ms.date: 03/30/2017 -ms.assetid: 31c009db-397c-4653-87e2-32dc77fa4b13 -ms.openlocfilehash: 4906c2ad11c8b5822764435d2b39a5b51f2673ba -ms.sourcegitcommit: 3c1c3ba79895335ff3737934e39372555ca7d6d0 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/05/2018 -ms.locfileid: "43748195" ---- -# 実行プロパティ -このサンプルでは、カスタム アクティビティで実行プロパティを定義および使用する方法を示します。 この例では、実行プロパティによってコンソールの前景色が決定されます。 例のワークフローでは、実行のさまざまな論理パス ( アクティビティの分岐) が、アクティビティの逐次的実行にもかかわらず、 アクティビティの分岐全体にわたってさまざまなコンソール色をどのように保持するかを示します。 - -#### サンプルをセットアップ、ビルド、および実行するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] で ExecutionProperties.sln サンプル ソリューションを開きます。 - - > [!NOTE] - > 使用されるカスタム アクティビティはソリューションと同時にビルドする必要があるため、ソリューションをビルドする前に ThreeColors.xaml を表示するとエラーが表示されます。 - -2. ソリューションをビルドして実行します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\CustomActivities\Code-Bodied\ExecutionProperties` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/exposing-and-invoking-activityactions.md b/docs/framework/windows-workflow-foundation/samples/exposing-and-invoking-activityactions.md deleted file mode 100644 index c3e4c373673..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/exposing-and-invoking-activityactions.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -title: ActivityAction の公開と呼び出し -ms.date: 03/30/2017 -ms.assetid: 97ce4797-426e-463d-9cc4-1261afad6df4 -ms.openlocfilehash: 99207c33d82ec9028da2355cc792c366dc5e0cc6 -ms.sourcegitcommit: fb78d8abbdb87144a3872cf154930157090dd933 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/27/2018 -ms.locfileid: "47398564" ---- -# ActivityAction の公開と呼び出し -このサンプルでは、 を含むカスタム アクティビティを開発する方法を示します。 また、 の実装を提供して、このアクティビティを使用する方法も示します。 - - 「ホール」特定のシグネチャを持つアクティビティのユーザーがカスタム動作にプラグインできるを公開するアクティビティの作成者を許可します。 たとえば、 アクティビティ (項目のコレクションで動作します) の では、アクティビティ ユーザーは現在の反復処理項目で機能する動作をプラグインできます。 - -## サンプルをセットアップ、ビルド、および実行するには - -1. 開く、 **ActivityAction.sln**サンプル ソリューション[!INCLUDE[vs2010](../../../../includes/vs2010-md.md)]します。 - -2. ソリューションをビルドして実行します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\CustomActivities\Code-Bodied\ActivityAction` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/expressions.md b/docs/framework/windows-workflow-foundation/samples/expressions.md deleted file mode 100644 index cc7947a00fb..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/expressions.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: Expressions2 -ms.date: 03/30/2017 -ms.assetid: 43a85905-77b5-4893-bb38-1cb9b293d69d -ms.openlocfilehash: e852b62e6d0b6b4b3ddc19b197902de5325310a1 -ms.sourcegitcommit: 213292dfbb0c37d83f62709959ff55c50af5560d -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/25/2018 -ms.locfileid: "47156417" ---- -# 式 -このサンプルでは、基本的な式をワークフローで使用する方法を示します。 このサンプルは、架空の会社の 2 人の従業員の基本給を計算するワークフローで構成されます。 `Employee` および `SalaryStats` という 2 つのクラスが Employee.cs と SalaryStats.cs で定義されています。 これらのクラスをワークフローで使用して、複合型の変数のプロパティに対する単純な数値演算と文字列操作を実行する方法を示します。 - - 給与計算ワークフローは、2 つの作成スタイルを示すために XAML と C# の両方で定義されています。 XAML バージョンは SalaryCalculation.xaml にあり、ワークフロー デザイナーで表示および編集できます。 C# バージョンは Program.cs にあります。 XAML で使用されている式は Visual Basic 構文に準拠しており、 式アクティビティと 式アクティビティを使用して実行されます。 詳細については、Visual Basic 式「 [Visual Basic 式](https://go.microsoft.com/fwlink/?LinkId=165912)します。 一方、C# の式はラムダ式で記述されており、 式アクティビティと 式アクティビティが使用されます。 ラムダ式で記述されているため、C# コンパイラで構文の強調表示や静的な検証を行うことができます。 C# のラムダ式の詳細については、次を参照してください。[ラムダ式 (c# プログラミング ガイド)](https://go.microsoft.com/fwlink/?LinkId=182082)します。 ワークフローの作成時に Visual Basic でコードを記述すると、Visual Basic ラムダ式が使用されます。 Visual Basic のラムダ式の詳細については、次を参照してください。[ラムダ式 (Visual Basic)](https://go.microsoft.com/fwlink/?LinkId=152437)します。 コードを使用してワークフローを作成する方法の詳細については、次を参照してください。[オーサリング ワークフロー、アクティビティ、および命令型コードを使用して式](../../../../docs/framework/windows-workflow-foundation/authoring-workflows-activities-and-expressions-using-imperative-code.md)します。 - -#### サンプルを実行するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] で Expressions.sln ソリューションを開きます。 - -2. ソリューションをビルドまたは選択するには CTRL + SHIFT + B キーを押して**ソリューションのビルド**から、**ビルド**メニュー。 - - > [!NOTE] - > Visual Studio デザイナーで SalaryCalculation.xaml を開くには、先にプロジェクトをコンパイルして、`Employee` クラスと `SalaryStats` クラスをデザイナーで使用できるようにする必要があります。 - -3. F5 キーを押して、ビルドが成功した後、または選択**デバッグの開始**から、**デバッグ**メニュー。 または Ctrl + f5 キーを押してまたは選択**デバッグなしで開始**から、**デバッグ**] メニューの [デバッグなしで実行します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Expressions` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/external-activity-validation.md b/docs/framework/windows-workflow-foundation/samples/external-activity-validation.md deleted file mode 100644 index d2671670523..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/external-activity-validation.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: 外部アクティビティの検証 -ms.date: 03/30/2017 -ms.assetid: 49619f59-9819-484a-bcd8-5596308e8551 -ms.openlocfilehash: 4805bec3deed0779b02687b11dd487e673802925 -ms.sourcegitcommit: 2eceb05f1a5bb261291a1f6a91c5153727ac1c19 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/04/2018 -ms.locfileid: "43527808" ---- -# 外部アクティビティの検証 -このサンプルでは、ユーザーが作成するものではないビルトイン アクティビティに検証ロジックを追加する方法を示します。 検証ロジックでは、ワークフロー内に存在するすべての アクティビティに または のいずれかのプロパティが強制的に設定されます。 また、ワークフロー内に存在するすべての アクティビティに複数の分岐が含まれているかどうかが確認され、分岐が含まれていない場合は警告が生成されます。 - -## サンプルの詳細 - このサンプルでは、検証する各アクティビティ ( アクティビティと アクティビティ) のインスタンスを含むワークフローを作成します。 検証動作ごとに を作成します。 このサンプルで作成される制約は `ConstraintError_IfShouldHaveThenOrElse` と `ConstraintWarning_PickHasOneBranch` です。 次に、これらの制約を `AdditionalConstraints` インスタンスの コレクションに追加します。 最後に、`static` の メソッドを呼び出してワークフロー内のアクティビティを検証し、検証結果をコンソールに出力します。 - -> [!NOTE] -> ポリシー制約は、任意のアクティビティに追加できます。 たとえば、 または アクティビティにポリシー制約を追加できます。 - -#### このサンプルを使用するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] を使用して、ExternalActivityValidation.sln ファイルを開きます。 - -2. ソリューションをビルドするには、Ctrl キーと Shift キーを押しながら B キーを押します。 - -3. ソリューションを実行するには、Ctrl キーを押しながら F5 キーを押します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Validation\ExternalActivityValidation` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/extract-wf-data-using-tracking.md b/docs/framework/windows-workflow-foundation/samples/extract-wf-data-using-tracking.md deleted file mode 100644 index 99864704915..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/extract-wf-data-using-tracking.md +++ /dev/null @@ -1,159 +0,0 @@ ---- -title: 追跡を使用した WF データの抽出 -ms.date: 03/30/2017 -ms.assetid: e30c68f5-8c6a-495a-bd20-667a4364c68e -ms.openlocfilehash: ef8118df2c5834e32c40760ef31f75660893d89b -ms.sourcegitcommit: 2eceb05f1a5bb261291a1f6a91c5153727ac1c19 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/04/2018 -ms.locfileid: "43501584" ---- -# 追跡を使用した WF データの抽出 -このサンプルでは、ワークフロー追跡を使用して、アクティビティからワークフロー変数と引数を抽出する方法を示します。 また、追跡レコードへの注釈の追加、およびカスタム追跡レコード内のデータ ペイロードの抽出の例も示します。 このサンプルでは、ワークフローからデータを抽出するために Event Tracing for Windows (ETW) 追跡参加要素を使用します。 - -## サンプルの詳細 - Windows Workflow Foundation (WF) は、ワークフロー インスタンスの実行を視覚化して追跡を提供します。 追跡ランタイムでは、ワークフローの実行中にワークフロー追跡レコードが出力されます。 このワークフロー追跡レコードと共に、ワークフロー インスタンス内のデータをワークフローから抽出することができます。 追跡レコードから抽出できるデータの種類の詳細を以下に示します。 - -1. アクティビティ内のワークフロー変数とアクティビティの実行時の追跡レコード。 - - ワークフロー変数を抽出するには、抽出する変数をプロファイルで指定します。 抽出する変数は、`ActivityStateQueries` でのみ指定できます。 アクティビティからワークフロー変数を抽出するために使用する追跡プロファイルのコード例を次に示します。 - - ```xml - - - - - - - - - ``` - -2. アクティビティ引数とアクティビティ状態の追跡レコード。 - - 引数は、アクティビティとのデータ フローの方法を定義します。 抽出する引数は、 を使用して指定します。`Value` 引数を抽出する追跡プロファイルのコード例を次に示します。 - - ```xml - - - - - - - - - ``` - -3. 注釈は、出力される追跡レコードに追加できるキーと値のペアです。 - - 注釈は、追跡レコードのタグ付け機構として機能します。 追跡プロファイルを通して追跡レコードに追加され、 どの種類のワークフロー追跡クエリにも追加できます。 追跡レコードに注釈を追加する方法を示す追跡プロファイルのコード例を次に示します。 - - ```xml - - - - - - - - - ``` - -4. カスタム追跡レコードは、ユーザー定義のアクティビティから出力されます。 - - カスタム追跡レコードは、対象のアクティビティ内で定義されたペイロード データを伝達できます。 追跡プロファイルでカスタム追跡レコードを定期受信すると、追跡レコード内のペイロードを抽出することができます。 カスタム追跡レコードを抽出するには、カスタムの を使用します。 カスタム追跡レコードをそのペイロードと共に抽出する追跡プロファイルのコード例を次に示します。 - - ```xml - - ``` - - このサンプルでは、Web.config で指定されたプロファイルを使用して、変数、引数、およびカスタム レコードを抽出し、注釈を追加する例を示しています。サンプルのワークフロー サービスでは、`` 動作要素を追加して追跡を有効にしています。 `ExtractWorkflowVariables` 追跡プロファイルの追跡を有効にするコード例を次に示します。 - -```xml - - - - - -``` - -#### このサンプルを使用するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] を使用して、WFStockPriceApplication.sln ソリューション ファイルを開きます。 - -2. ソリューションをビルドするには、Ctrl キーと Shift キーを押しながら B キーを押します。 - -3. ソリューションを実行するには、F5 キーを押します。 - - ブラウザー ウィンドウが開き、アプリケーションのディレクトリの一覧が示されます。 - -4. ブラウザーで、StockPriceService.xamlx をクリックします。 - -5. ブラウザーに、[StockPriceService] ページが表示され、ローカル サービスの WSDL アドレスが示されます。 このアドレスをコピーします。 - - ローカル サービスの WSDL アドレスの例を次に示します。 `http://localhost:53797/StockPriceService.xamlx?wsdl` - -6. サービスを呼び出す前に、イベント ビューアーを起動し、ワークフロー サービスから生成された追跡イベントをイベント ログでリッスンしていることを確認します。 - -7. **開始**メニューの **管理ツール**し**イベント ビューアー**します。 - -8. イベント ビューアーのツリー ビューでに移動します。**イベント ビューアー**、 **Applications and Services Logs**、および**Microsoft**します。 右クリック**Microsoft**選択**ビュー**し**分析およびデバッグ ログ**します。 - - いることを確認、 **分析およびデバッグ ログ**オプションをオンにします。 - -9. イベント ビューアーのツリー ビューでに移動します**イベント ビューアー**、 **Applications and Services Logs**、 **Microsoft**、 **Windows**、 。**アプリケーション サーバー-アプリケーション**します。 右クリック**分析**選択**ログの有効化**します。 - -10. [!INCLUDE[fileExplorer](../../../../includes/fileexplorer-md.md)] を使用して、WCF テスト クライアントを開きます。 - - WCF テスト クライアント (WcfTestClient.exe) にある、 \< [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)]インストール フォルダー > \Common7\IDE\ フォルダーにあります。 - - [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] の既定のインストール フォルダーは C:\Program Files\Microsoft Visual Studio 10.0 です。 - -11. WCF テスト クライアントで次のように選択します。**サービスの追加**から、**ファイル**メニュー。 - - 前の手順でコピーしたローカル サービスの WSDL アドレスを入力ボックスに追加します。 - -12. WCF テスト クライアントで、`GetStockPrice` をダブルクリックします。 - - `GetStockPrice` メソッドが開きます。 この要求はパラメーターを 1 つ受け取ります。 値を使用して**Contoso**します。 - -13. クリックして**呼び出す**します。 - -14. イベント ビューアーに戻りに移動**イベント ビューアー**、 **Applications and Services Logs**、 **Microsoft**、 **Windows**、 **アプリケーション サーバー-アプリケーション**します。 右クリック**分析**選択**更新**します。 ワークフロー イベントのイベント ID の範囲は 100 ~ 199 です。 - - イベントには、イベント ビューアーで表示できる注釈、変数、引数、およびカスタム追跡レコードが含まれます。 - -## イベント ビューアーでのクリーンアップ - イベント ログの分析チャネルは、次の手順に従ってイベント ビューアーでクリーンアップできます。 - -#### クリーンアップするには (省略可能) - -1. イベント ビューアーを開きます。 - -2. 移動します**イベント ビューアー**、 **Applications and Services Logs**、 **Microsoft**、 **Windows**、**アプリケーションサーバー-アプリケーション**します。 右クリック**分析**選択**ログの無効化**します。 - -3. 移動します**イベント ビューアー**、 **Applications and Services Logs**、 **Microsoft**、 **Windows**、**アプリケーションサーバー-アプリケーション**します。 右クリック**分析**選択**ログの消去**します。 - - 選択、**オフ**イベントを消去するオプション。 - -## 既知の問題 - -> [!NOTE] -> イベント ビューアーの既知の問題により、ETW イベントをデコードできない場合があります。 その場合、次のようなエラー メッセージが表示されます。 -> -> `The description for Event ID from source Microsoft-Windows-Application Server-Applications cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer.` -> -> このエラーが発生した場合はクリックして**更新**操作 ウィンドウでします。 これにより、イベントが正常にデコードされます。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Tracking\ExtractWfData` - -## 関連項目 - [AppFabric の監視のサンプル](https://go.microsoft.com/fwlink/?LinkId=193959) diff --git a/docs/framework/windows-workflow-foundation/samples/for-activity.md b/docs/framework/windows-workflow-foundation/samples/for-activity.md deleted file mode 100644 index d57f6a2dbd6..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/for-activity.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -title: For アクティビティ -ms.date: 03/30/2017 -ms.assetid: 2ea751b4-36f0-48aa-a115-70a2ab89f6d8 -ms.openlocfilehash: 7a7023abb9057ab4b25552fbf9a81cd2ae2b4e88 -ms.sourcegitcommit: c7f3e2e9d6ead6cc3acd0d66b10a251d0c66e59d -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/08/2018 -ms.locfileid: "44206264" ---- -# For アクティビティ -For サンプルでは、 から継承するカスタム アクティビティを構築し、そのアクティビティをワークフローで使用して実際の例を実行する方法を示します。 このサンプルに含まれるカスタム アクティビティは、C# の `for` ステートメントと同じように機能します。 T - - `For` カスタム アクティビティには、`InitAction`、`IterationAction`、`Condition`、および `Body` というプロパティがあります。これらのプロパティは、標準的な C# の `For` ステートメントの初期化ステートメント、反復ステートメント、継続条件、および本体ステートメントにそれぞれ対応します。 - - 次の表で、サンプルの主要なファイルについて説明します。 - -|ファイル|説明| -|----------|-----------------| -|For.cs|`For` カスタム アクティビティのクラス定義。 クラスを拡張して C# の `For` ステートメントの機能を提供します。| -|Program.cs|カスタム `For` アクティビティを使用してコレクションに対して基本的な反復処理を実行するクライアント アプリケーション。| - -> [!NOTE] -> `For` カスタム アクティビティを使用する場合は、必ず `Condition` プロパティを設定してください。そうしないと、無限ループが発生する可能性があります。 - -## 使用例 - から継承するカスタム アクティビティを作成します。 - -## 説明 - 次の表で、このサンプルに含まれるアクティビティのプロパティについて説明します。 - - InitAction - 初期化ステートメント - - IterationAction - 反復ステートメント - - 状態 - 条件ステートメント - - Body - 本体ステートメント - - このアクティビティは、 から継承して、ランタイム機能 (`ScheduleActivity` のいずれかの メソッドを使用した追加アクティビティの実行スケジュールの設定など) へのアクセスを取得します。 - -#### このサンプルを使用するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] を使用して、For.sln ソリューション ファイルを開きます。 - -2. Ctrl キーと Shift キーを押しながら B キーを押して、ソリューションをビルドします。 - -3. F5 キーを押して、ソリューションを実行します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Scenario\ActivityLibrary\For` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/formatting-messages-in-workflow-services.md b/docs/framework/windows-workflow-foundation/samples/formatting-messages-in-workflow-services.md deleted file mode 100644 index 6691105763d..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/formatting-messages-in-workflow-services.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: ワークフロー サービスでのメッセージの書式設定 -ms.date: 03/30/2017 -ms.assetid: 6d15d44b-20f8-4cb7-bd4f-598c32781ebc -ms.openlocfilehash: eb9a6b3a83a28154dc968bd4c1c41d34028bdd41 -ms.sourcegitcommit: 5bbfe34a9a14e4ccb22367e57b57585c208cf757 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/18/2018 -ms.locfileid: "46003036" ---- -# ワークフロー サービスでのメッセージの書式設定 -このサンプルでは、メッセージング アクティビティ (WF サービス) で使用できるユーザーの種類を示します。 サンプルのサービスは、簡単な費用承認サービスで、3 つの操作を公開します。 `ApproveExpense` はデータ コントラクト型を受け取り、既知の型を使用する方法を示します。 この操作では、費用の金額に基づいて `true` または `false` を返します。 `ApprovePO` XmlSerializer 型を受け取り、返します`true`または`false`経費量に基づいています。`ApprovedVendor` メッセージ コントラクト型を受け取り、返します`true`または`false`仕入先が、承認済みのベンダーの一覧にある場合、または要求が経理部 (finance 部門は、すべてのベンダーを使用できます) に付属している場合。 - -#### このサンプルを使用するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] でプロジェクト ソリューションを読み込み、プロジェクトをビルドします。 - -2. 最初に、[ソリューションの基本ディレクトリ]\FormatterService\bin\debug\ に生成されたサービスを実行します。 - -3. 2 番目に、[ソリューションの基本ディレクトリ]\FormatterClient\bin\debug に生成されたクライアント アプリケーションを実行します。 - -4. クライアントは、サービスで 3 つの操作を呼び出し、結果を出力します。 完了したら、Enter キーを押してクライアントを終了し、サービスを終了します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Services\Formatter` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/getting-started-writing-a-custom-activity.md b/docs/framework/windows-workflow-foundation/samples/getting-started-writing-a-custom-activity.md deleted file mode 100644 index 7a82dd77acf..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/getting-started-writing-a-custom-activity.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: カスタム アクティビティの記述について -ms.date: 03/30/2017 -ms.assetid: 3902f5fa-8a43-4048-8a6a-6b15472f90f0 -ms.openlocfilehash: 4d9c140ca230750ca1119b33252b1edb8796d458 -ms.sourcegitcommit: 3c1c3ba79895335ff3737934e39372555ca7d6d0 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/05/2018 -ms.locfileid: "43776659" ---- -# カスタム アクティビティの記述について -このサンプルでは、XAML で単純なカスタム アクティビティを定義する方法を示します。 このアクティビティの名前は `Rhyme` で、ロジックは 3 つの連続する アクティビティです。 - -#### サンプルをセットアップ、ビルド、および実行するには - -1. 開く、 **Simple.sln**サンプル ソリューション[!INCLUDE[vs2010](../../../../includes/vs2010-md.md)]します。 - -2. ソリューションをビルドして実行します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\CustomActivities\Composite\GettingStarted` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/hello-world-custom-activity.md b/docs/framework/windows-workflow-foundation/samples/hello-world-custom-activity.md deleted file mode 100644 index e291de9fcbf..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/hello-world-custom-activity.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -title: Hello World カスタム アクティビティ -ms.date: 03/30/2017 -ms.assetid: 72b1dd0a-9aad-47d5-95a9-a1024ee1d0a1 -ms.openlocfilehash: fde745fae7470ec763b6b5030a60436a6525e3c0 -ms.sourcegitcommit: 3c1c3ba79895335ff3737934e39372555ca7d6d0 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/06/2018 -ms.locfileid: "43856853" ---- -# Hello World カスタム アクティビティ -このサンプルでは、いくつかの主要機能の Windows Workflow Foundation (WF)、単純なカスタム アクティビティを作成する方法などを示します。 このサンプルで示す機能では、C# でカスタム アクティビティを作成し、`in` 引数と `out` 引数 () を使用します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\CustomActivities\Code-Bodied\HelloWorld` - -## コードでのワークフローの作成 - このサンプルでは、C# コードを使用して、2 つのカスタム アクティビティを作成します。 どちらのカスタム アクティビティも、 から直接または間接に継承して、1 つの値を返します。 非ジェネリック クラス から継承する代わりにジェネリックな戻り値を使用する利点は、特定のアクティビティ ( など) が、作成されるアクティビティの一部として使用する場合に戻り値にアクセスできることです。 - - AppendString - このアクティビティは、 から継承し、2 つの文字列を 1 つに連結する アクティビティを使用します。 - - Prepend String - このアクティビティは、 から直接継承し、`AppendString` アクティビティと同様の機能を作成します。この機能は、既存のアクティビティから構成されるのではなく、コードに実装されているロジックを使用します。 - - このプロジェクトには、次のファイルがあります。 - - AppendString.cs - 複数の文字列を 1 つにするカスタム アクティビティです。 文字列を受け取りし、出力として完全なメッセージを"says hello world"のリテラル テキスト文字列と結合します。 - - PrependString.cs - このアクティビティは、定義済みの文字列を入力文字列の先頭に付けます。 - - Sequence1.xaml - `AppendString` カスタム アクティビティと `PrependString` カスタム アクティビティを使用するワークフローです。 - - Program.cs - ワークフローを実行するプログラムです。 - -#### このサンプルを使用するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] を使用して、HelloWorld.sln ソリューション ファイルを開きます。 - -2. ソリューションをビルドするには、Ctrl キーと Shift キーを押しながら B キーを押します。 - -3. ソリューションを実行するには、F5 キーを押します。 \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/ifelse-with-rules.md b/docs/framework/windows-workflow-foundation/samples/ifelse-with-rules.md deleted file mode 100644 index fe80653cfc6..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/ifelse-with-rules.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: ルール付き IfElse -ms.date: 03/30/2017 -ms.assetid: c4ad9bb2-9037-413a-8b14-59ed7b927a9e -ms.openlocfilehash: 31906f04149a0ca7659201965ca565c7fa2af305 -ms.sourcegitcommit: 2eceb05f1a5bb261291a1f6a91c5153727ac1c19 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/04/2018 -ms.locfileid: "43500530" ---- -# ルール付き IfElse -このサンプルでは、ルール条件を アクティビティで使用する方法を示します。 - - このサンプルでは、ホストから `OrderValue` パラメータが渡されます。 このパラメータの値は、 アクティビティの最初の分岐のルール条件で使用されます。 値が 10,000 未満の場合は、最初の分岐を実行して、最初の分岐のアクティビティの出力**Get Manager Approval**コンソールにします。 値が 10,000 を超える場合、 2 番目の分岐のアクティビティが実行され、印刷**Get VP Approval**します。 - -### サンプルをビルドするには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] で、ソリューションを開きます。 - -2. Ctrl キーと Shift キーを押しながら B キーを押して、ソリューションをビルドします。 - -3. Ctrl キーを押しながら F5 キーを押して、ソリューションをデバッグなしで実行します。 - -### サンプルを実行するには - -- [SDK コマンド プロンプト] ウィンドウで、IfElseWithRules\bin\debug フォルダー (Visual Basic バージョンのサンプルの場合は IfElseWithRules\bin フォルダー) にある .exe ファイルを実行します。このフォルダーは、サンプルのメイン フォルダーの下に作成されます。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Rules\IfElseWithRules` - -## 関連項目 - - - - diff --git a/docs/framework/windows-workflow-foundation/samples/interop-with-3-5-rule-set.md b/docs/framework/windows-workflow-foundation/samples/interop-with-3-5-rule-set.md deleted file mode 100644 index 0ba0e820815..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/interop-with-3-5-rule-set.md +++ /dev/null @@ -1,82 +0,0 @@ ---- -title: 3.5 ルール セットとの相互運用 -ms.date: 03/30/2017 -ms.assetid: 969f3295-d874-428c-a9c6-623e3d578e51 -ms.openlocfilehash: 5ea5454ef80bfd83611ed20392782d99cd8c0c25 -ms.sourcegitcommit: 2350a091ef6459f0fcfd894301242400374d8558 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/21/2018 -ms.locfileid: "46528482" ---- -# 3.5 ルール セットとの相互運用 -このサンプルの使用、でカスタム アクティビティと統合するアクティビティ[!INCLUDE[netfx35_short](../../../../includes/netfx35-short-md.md)]を使用して`System.Workflow.Activities.Policy`とルール。 このサンプルでは、カスタム アクティビティで公開されている依存プロパティに [!INCLUDE[netfx_current_long](../../../../includes/netfx-current-long-md.md)] 変数をバインドすることで、カスタム アクティビティにデータを渡します。 - -## 要件 - -1. [!INCLUDE[vs_current_long](../../../../includes/vs-current-long-md.md)] - -2. [!INCLUDE[netfx_current_long](../../../../includes/netfx-current-long-md.md)] - -3. [!INCLUDE[netfx35_long](../../../../includes/netfx35-long-md.md)] - -## 使用例 - アクティビティ、 `System.Workflow.Activities.Policy`アクティビティ[!INCLUDE[netfx35_short](../../../../includes/netfx35-short-md.md)]を依存関係プロパティ - -## 説明 - このサンプルでは、[!INCLUDE[netfx35_short](../../../../includes/netfx35-short-md.md)] アクティビティと統合するための統合シナリオの 1 つを示します。 このサンプルが含まれています、[!INCLUDE[netfx35_short](../../../../includes/netfx35-short-md.md)]を呼び出すカスタム アクティビティを`System.Workflow.Activities.Policy`アクティビティ。 - -## TravelRuleLibrary - デザイナーで TravelRuleSet.cs を開くと、次のようにポリシー アクティビティを含むカスタムのシーケンシャル アクティビティが示されます。 - - ![Interop アクティビティ](../../../../docs/framework/windows-workflow-foundation/samples/media/interoprulespolicy.jpg "InteropRulesPolicy") - - ダブルクリックして、 **DiscountPolicy**ポリシー アクティビティをルールを確認します。 ルール エディターが表示され、ルールが表示されます。 - - ![ルール セット エディター](../../../../docs/framework/windows-workflow-foundation/samples/media/interoprulesruleseteditor.jpg "InteropRulesRuleSetEditor") - - 右クリックし、 **DiscountPolicy**活動と選択、**コードの表示**コード側 c# コードにこのアクティビティを確認するにはオプションです。 `DiscountLevel` の依存関係プロパティの設定を確認します。 これは、 の [!INCLUDE[netfx_current_short](../../../../includes/netfx-current-short-md.md)] と同じです。 - -``` -public static DependencyProperty DiscountLevelProperty = DependencyProperty.Register("DiscountLevel", typeof(int), typeof(TravelRuleSet)); - -[DescriptionAttribute("DiscountLevel")] -[CategoryAttribute("DiscountLevel Category")] -[BrowsableAttribute(true)] -[DesignerSerializationVisibilityAttribute(DesignerSerializationVisibility.Visible)] -public int DiscountLevel -{ - get - { -return ((int)base.GetValue(TravelRuleSet.DiscountLevelProperty))); - } - set - { -base.SetValue(TravelRuleSet.DiscountLevelProperty, value); - } -} -``` - -## InteropWith35RuleSet - これは、[!INCLUDE[netfx_current_short](../../../../includes/netfx-current-short-md.md)] アクティビティを使用して、TravelRuleLibrary プロジェクトで作成されたカスタム ルール セットと統合する シーケンシャル ワークフロー プロジェクトです。 変数は、次のように最上位レベルの で作成されます。 - - ![変数](../../../../docs/framework/windows-workflow-foundation/samples/media/interoprulesvariables.jpg "InteropRulesVariables") - - ![ソリューション エクスプ ローラー](../../../../docs/framework/windows-workflow-foundation/samples/media/interoprulessolutionexplorer.jpg "InteropRulesSolutionExplorer") - - 最後に、 アクティビティは、TravelRuleSet と統合するために使用されます。 で事前に宣言された変数は、依存プロパティにバインドするために使用されます。 - - ![アクティビティの種類](../../../../docs/framework/windows-workflow-foundation/samples/media/interoprules.jpg "InteropRules") - - ![矢印](../../../../docs/framework/windows-workflow-foundation/samples/media/interoprulesarrow.jpg "InteropRulesArrow") - - ![プロパティ](../../../../docs/framework/windows-workflow-foundation/samples/media/interoprulesproperties.jpg "InteropRulesProperties") - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Built-InActivities\InteropWith35RuleSet` diff --git a/docs/framework/windows-workflow-foundation/samples/invokemethod.md b/docs/framework/windows-workflow-foundation/samples/invokemethod.md deleted file mode 100644 index 0ede84196fd..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/invokemethod.md +++ /dev/null @@ -1,70 +0,0 @@ ---- -title: InvokeMethod -ms.date: 03/30/2017 -ms.assetid: 04988eb3-65f8-456d-b1bd-509f5d05a57c -ms.openlocfilehash: 861e0cf160aec9814abcf8c27c37ce13a5d88b2a -ms.sourcegitcommit: ba5c189bf44d44204a3e8838e59ec378a62d82f3 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/13/2018 -ms.locfileid: "44778620" ---- -# InvokeMethod -このサンプルでは、 アクティビティを使用してクラスのメソッドを呼び出すさまざまな方法を示します。 - - メソッドはクラスに属し、含まれる操作のセットを表します。 アクティビティを使用すると、オブジェクトまたは型に対してメソッドを呼び出し、パラメーターを渡して、戻り値を取得できます。 メソッドは、同期または非同期に呼び出すことができます。 - -## サンプルの詳細 - このサンプルでは、 アクティビティを使用して次のシナリオを実行します。 - -1. パラメーターを指定せずにインスタンス メソッドを呼び出します。 - -2. 2 つのパラメーター () を指定してインスタンス メソッドを呼び出します。 - -3. 2 つのパラメーター () および [] 型のパラメーター配列を指定してインスタンス メソッドを呼び出します。 - -4. 型の 2 つのパラメーターおよび 型の結果を指定してインスタンス メソッドを呼び出します。 このシナリオでは、結果値は変数にバインドされ、別のアクティビティで使用されます。 この値は、 アクティビティを使用してコンソールに表示されます。 - -5. 型と 型の 2 つのパラメーターを指定して静的メソッドを呼び出します。 - -6. 型の 1 つのジェネリック パラメーターを指定してインスタンス メソッドを呼び出します。 - -7. 型と 型の 2 つのジェネリック パラメーターを指定して静的メソッドを呼び出します。 - -8. 型の参照渡しされる 1 つのパラメーターを持つインスタンス メソッドを呼び出します。 このシナリオでは、参照パラメーターは変数 (`outParam`) にバインドされ、別のアクティビティで使用されます。 この値は、 アクティビティを使用してコンソールに表示されます。 - -9. 非同期インスタンス メソッドを呼び出します。 - -10. 2 つの アクティビティを使用して、1 つのオブジェクトの同じインスタンスで 2 つの異なるメソッドを呼び出します。 - -11. オブジェクトのインスタンスに値を格納します。 - -12. オブジェクトのインスタンスから値を取得します。 - -## このサンプルを使用するには - このサンプルには、2 つのバージョンが用意されています。 このサンプルの最初のバージョンの使用を示してWindows Workflow Foundation (WF) のプログラミング モデルを使用してコードを c# を使用して、codedworkflow \cs フォルダー下にあります。 第 2 のバージョンでは、XAML で を使用する方法を示します。これは、DesignerWorkflow\CS フォルダーにあります。 - -#### コード化されたワークフロー サンプルを実行するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] を使用して、CodedWorkflow\CS フォルダーにある InvokeMethodUsage.sln ソリューション ファイルを開きます。 - -2. ソリューションをビルドするには、Ctrl キーと Shift キーを押しながら B キーを押します。 - -3. ソリューションを実行するには、Ctrl キーを押しながら F5 キーを押します。 - -#### デザイナー ワークフロー サンプルを実行するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] を使用して、DesignerWorkflow\CS フォルダーにある InvokeMethodUsage.sln ソリューション ファイルを開きます。 - -2. ソリューションをビルドするには、Ctrl キーと Shift キーを押しながら B キーを押します。 - -3. ソリューションを実行するには、Ctrl キーを押しながら F5 キーを押します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Built-InActivities\InvokeMethod` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/linq-to-objects-activity.md b/docs/framework/windows-workflow-foundation/samples/linq-to-objects-activity.md deleted file mode 100644 index 96905236c81..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/linq-to-objects-activity.md +++ /dev/null @@ -1,118 +0,0 @@ ---- -title: LINQ to Objects アクティビティ -ms.date: 03/30/2017 -ms.assetid: 403c82e8-7f2b-42f6-93cd-95c35bc76ead -ms.openlocfilehash: fca4a94a951c9713a61914de6ef33e0cbb74f75e -ms.sourcegitcommit: 64f4baed249341e5bf64d1385bf48e3f2e1a0211 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/07/2018 -ms.locfileid: "44098864" ---- -# LINQ to Objects アクティビティ -このサンプルでは、LINQ to Objects を使用してコレクション内の要素に対してクエリを実行するアクティビティを作成する方法を示します。 - -## FindInCollection のアクティビティの詳細 - このアクティビティでは、LINQ to Objects を使用してメモリ内のコレクションの要素に対してクエリを実行できます。 LINQ 述語をラムダ式のフォームで指定して、結果をフィルター処理する必要があります。 このアクティビティは、 アクティビティと組み合わせて使用することができます。 - - 次の表で、アクティビティのプロパティと戻り値について詳しく説明します。 - -|プロパティ値または戻り値|説明| -|------------------------------|-----------------| -|`Collection` プロパティ|ソース コレクションを指定する必須のプロパティ| -|`Predicate` プロパティ|コレクションのフィルターをラムダ式のフォームで指定する必須のプロパティ| -|戻り値|フィルター処理されたコレクション| - -## カスタム アクティビティを使用するコード サンプル - 次のコード例では、`FindInCollection` カスタム アクティビティを使用して、`Role` プロパティと `Manager` プロパティがそれぞれ `Location` と `Redmond` に設定されている従業員のコレクションのすべての行を検索します。 - -```csharp -// Find all program managers in Redmond in the employees collection. - -Activity wf = new FindInCollection -{ - Collections = new LambdaValue>(c => employees), - Predicate = new LambdaValue>(c => new Func(e => e.Role.Equals("Manager") && e.Location.Equals("Redmond"))) -}; -``` - - 次のコードでは、カスタム FindInCollection アクティビティ、、および アクティビティを使用して、コレクションに従業員を挿入し、ロールが開発者で勤務地が Redmond である従業員をすべて検索して、生成されたリストを反復処理するワークフロー プログラムを作成する方法を示します。 - -```csharp -// Create the Linq predicate for the find expression - -Func predicate = e => e.Role == "DEV" && e.Location.Equals("Redmond"); - -// Create workflow program -Activity sampleWorkflow = new Sequence -{ - Variables = { employees, devsFromRedmond }, - Activities = - { - new Assign> - { - To = employees, - Value = new LambdaValue>(c => new List()) - }, - new AddToCollection - { - Collection = new InArgument>(employees), - Item = new LambdaValue(c => new Employee(1, "Employee 1", "DEV", "Redmond")) - }, - new AddToCollection - { - Collection = new InArgument>(employees), - Item = new LambdaValue(c => new Employee(2, "Employee 2", "DEV", "Redmond")) - }, - new AddToCollection - { - Collection = new InArgument>(employees), - Item = new LambdaValue(c => new Employee(3, "Employee 3", "PM", "Redmond")) - }, - new AddToCollection - { - Collection = new InArgument>(employees), - Item = new LambdaValue(c => new Employee(4, "Employee 4", "PM", "China")) - }, - new FindInCollection - { - Collections = new InArgument>(employees), - Predicate = new LambdaValue>(c => predicate), - Result = new OutArgument>(devsFromRedmond) - }, - new ForEach - { - Values = new InArgument>(devsFromRedmond), - Body = new ActivityAction - { - Argument = iterationVariable, - Handler = new WriteLine - { - Text = new InArgument(env => iterationVariable.Get(env).ToString()) - } - } - } - } -}; -``` - -#### このサンプルを使用するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] を使用して、LinqToObjects.sln ソリューション ファイルを開きます。 - -2. ソリューションをビルドするには、Ctrl キーと Shift キーを押しながら B キーを押します。 - -3. ソリューションを実行するには、F5 キーを押します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Scenario\ActivityLibrary\Linq\LinqToObjects` - -## 関連項目 - [ラムダ式 (c# プログラミング ガイド)](https://go.microsoft.com/fwlink/?LinkId=150381) - [LINQ to Objects](https://go.microsoft.com/fwlink/?LinkID=150380) diff --git a/docs/framework/windows-workflow-foundation/samples/linq-to-sql-sample.md b/docs/framework/windows-workflow-foundation/samples/linq-to-sql-sample.md deleted file mode 100644 index 49b5f1072fb..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/linq-to-sql-sample.md +++ /dev/null @@ -1,93 +0,0 @@ ---- -title: LINQ to SQL のサンプル -ms.date: 03/30/2017 -ms.assetid: 5f39db9e-0e62-42c9-8c98-bb8b54cec98c -ms.openlocfilehash: 83dc8433459f64860baaca2e8309fbc85e2bb3a2 -ms.sourcegitcommit: 2eceb05f1a5bb261291a1f6a91c5153727ac1c19 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/04/2018 -ms.locfileid: "43515369" ---- -# LINQ to SQL のサンプル -このサンプルでは、SQL Server データベース内のテーブルの LINQ to SQL クエリ エンティティを使用するアクティビティを作成する方法を示します。 - -> [!IMPORTANT] -> WCF のサンプルは、既にコンピューターにインストールできます。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\Samples\WCFWFCardspace` -> -> このディレクトリが存在しない場合は、このページの上部にあるサンプルのダウンロードのリンクをクリックします。 このリンクをダウンロードし、すべてのインストールに注意してください、 [!INCLUDE[wf1](../../../../includes/wf1-md.md)]、WCF、および[!INCLUDE[infocard](../../../../includes/infocard-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\Samples\WCFWFCardSpace\WF\Scenario\ActivityLibrary\Linq\LinqToSql` - -## FindInSqlTable のアクティビティの詳細 - このアクティビティでは、LINQ to SQL を使用してデータベース内のテーブルのエンティティに対してクエリを実行できます。 アクティビティのユーザーは、LINQ 述語をラムダ式のフォームで指定して、結果をフィルター処理することもできます。 述語を指定しない場合、テーブル全体が返されます。 次の表で、アクティビティのプロパティと戻り値について詳しく説明します。 - -|プロパティ値または戻り値|説明| -|------------------------------|-----------------| -|`Collection` プロパティ|ソース コレクションを指定する必須のプロパティ| -|`Predicate` プロパティ|コレクションのフィルターをラムダ式のフォームで指定する必須のプロパティ| -|戻り値|フィルター処理されたコレクション| - -## カスタム アクティビティを使用するコード サンプル - `FindInSqlTable` カスタム アクティビティを使用して、`Employee` という名前の SQL Server テーブルで `Role` 列が `SDE` になっている行をすべて検索するコード例を次に示します。 - -```csharp -new FindInSqlTable -{ - ConnectionString = @"Data Source=.\SQLExpress;Initial Catalog=LinqToSqlSample;Integrated Security=True", - Predicate = new LambdaValue>(c => new Func(emp => emp.Role.Equals("SDE"))), - Result = new OutArgument>(employees) -}, -``` - -#### このサンプルを使用するには - -1. コマンド プロンプトを開きます。 - -2. このサンプルが含まれるフォルダーに移動します。 - -3. Setup.cmd コマンド ファイルを実行します。 - - > [!NOTE] - > Setup.cmd スクリプトは、ローカル コンピューターに SQL Server Express のサンプル データベースをインストールしようとします。 他の SQL Server インスタンスにインストールする場合は、Setup.cmd を編集します。 - - Setup.cmd スクリプトでは、次の操作を実行します。 - - - LinqToSqlSample という名前のデータベースを作成します。 - - - Roles テーブルを作成します。 - - - Employees テーブルを作成します。 - - - 3 個のレコードを Roles テーブルに挿入します。 - - - 12 個のレコードを Employees テーブルに挿入します。 - -4. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] を使用して、LinqToSQL.sln ソリューション ファイルを開きます。 - -5. ソリューションをビルドするには、Ctrl キーと Shift キーを押しながら B キーを押します。 - -6. ソリューションを実行するには、F5 キーを押します。 - -#### LinqToSql サンプル データベースをアンインストールするには - -1. コマンド プロンプトを開きます。 - -2. このサンプルが含まれるフォルダーに移動します。 - -3. Cleanup.cmd コマンド ファイルを実行します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Scenario\ActivityLibrary\Liiinq\LinqToSql` - -## 関連項目 - [LINQ to SQL](https://go.microsoft.com/fwlink/?LinkId=150376) - [はじめに (LINQ to SQL)](https://go.microsoft.com/fwlink/?LinkId=150377) diff --git a/docs/framework/windows-workflow-foundation/samples/metadata-store-programmability.md b/docs/framework/windows-workflow-foundation/samples/metadata-store-programmability.md deleted file mode 100644 index 8cea8b9915d..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/metadata-store-programmability.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -title: メタデータ ストアのプログラム性 -ms.date: 03/30/2017 -ms.assetid: 5b613661-f3f9-4e07-8e88-28c9ea2fd8f8 -ms.openlocfilehash: 9f30fcdac131b8749a4d165875b9bbb584542843 -ms.sourcegitcommit: fb78d8abbdb87144a3872cf154930157090dd933 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/26/2018 -ms.locfileid: "47209861" ---- -# メタデータ ストアのプログラム性 -メタデータ ストアは、実行時に任意のメタデータを CLR 属性の形式で型に関連付けることができる [!INCLUDE[wfd1](../../../../includes/wfd1-md.md)]機能です。 これにより、実行時コンポーネントと対応するデザイン時コンポーネントの間の疎結合、および実行時コンポーネントに影響を与えることなくデザイン時コンポーネントを変更する機能が実現します。 このサンプルでは、属性を実行時の型に適用することで、メタデータ ストアを使用して制御できないソースをプログラミングする方法を示します。 通常使用されるこの用語は、ホスト アプリケーションによって型セットのメタデータが登録されることを示します。 - - 出力内に、追加の予期しない属性 がある場合があります。 これはメタデータ API の使用時に追加されるもので、サンプルの実行には影響しません。 - - このサンプルでは、次の方法を示します。 - -## 使用例 - -- メタデータ ストア API を使用して属性を挿入する方法。 - -- コールバック メカニズムを使用してメタデータの登録を遅らせる方法。 - -## サンプルをセットアップ、ビルド、および実行するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] を使用して、ProgrammingMetadataStore.sln ソリューション ファイルを開きます。 - -2. ソリューションをビルドするには、Ctrl キーと Shift キーを押しながら B キーを押します。 - -3. ソリューションを実行するには、F5 キーを押します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\CustomActivities\CustomActivityDesigners\MetadataStore` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/migration.md b/docs/framework/windows-workflow-foundation/samples/migration.md deleted file mode 100644 index d2685b00aa3..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/migration.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: 移行 -ms.date: 03/30/2017 -ms.assetid: 51ca5be7-94dc-4bed-a206-f57c898cf078 -ms.openlocfilehash: efd71e3241419f0b2920f5ec05b2af3e39ae8f83 -ms.sourcegitcommit: 3d5d33f384eeba41b2dff79d096f47ccc8d8f03d -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 05/04/2018 -ms.locfileid: "33513976" ---- -# 移行 -このセクションには、Windows Workflow Foundation (WF) のコンテンツを使用して記述を移行する方法を示すサンプルが含まれています。[!INCLUDE[netfx35_short](../../../../includes/netfx35-short-md.md)]に[!INCLUDE[netfx40_short](../../../../includes/netfx40-short-md.md)]です。 - -## このセクションの内容 - [.NET Framework 4.5 ワークフローでの .NET Framework 3.0 または .NET Framework 3.5 アクティビティの使用](../../../../docs/framework/windows-workflow-foundation/samples/using-a-net-3-0-or-net-3-5-activity-in-a-net-4-5-workflow.md) - アクティビティを使用して、文字列をカスタムの [!INCLUDE[vstecwinfx](../../../../includes/vstecwinfx-md.md)] アクティビティに引数として渡す方法を示します。 - - [External Data Exchange での Interop の使用](../../../../docs/framework/windows-workflow-foundation/samples/using-interop-with-external-data-exchange.md) - WF4 ワークフロー サービスの アクティビティを使用して、 (およびメソッドを呼び出してイベントを処理するための対応するカスタム アクティビティ) を使用する WF3 ワークフローを設定および実行する方法を示します。 diff --git a/docs/framework/windows-workflow-foundation/samples/nesting-of-transactionscope-within-a-service.md b/docs/framework/windows-workflow-foundation/samples/nesting-of-transactionscope-within-a-service.md deleted file mode 100644 index e1f462bb5f6..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/nesting-of-transactionscope-within-a-service.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: サービス内での TransactionScope の入れ子化 -ms.date: 03/30/2017 -ms.assetid: e7e1ba64-1384-4eba-add8-415636e2d6d0 -ms.openlocfilehash: cf73c0c2d061f1c997a8ade5d7b2bf61887915ca -ms.sourcegitcommit: 5bbfe34a9a14e4ccb22367e57b57585c208cf757 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/17/2018 -ms.locfileid: "45743428" ---- -# サービス内での TransactionScope の入れ子化 -このサンプルは、サービス内で アクティビティ インスタンスを処理する方法を示す 2 つのシナリオで構成されます。 トランザクションでは、まず を使用してクライアント上に新しいトランザクションを作成し、 を使用してサーバー上でトランザクションを受信し、トランザクションの有効期間のスコープを設定します。 サービス内の最初のシナリオでは、2 つ目の アクティビティを実行して、サービス内で アクティビティを入れ子にする方法を示します。 2 番目のシナリオでは、入れ子になった アクティビティ内でタイムアウトがどのように機能するかを示します。 - -## クライアント アプリケーション - クライアント アプリケーションは、 アクティビティの開始、分散トランザクション ID の出力、サーバーへのメッセージの送信、トランザクションのフロー、応答の受信、分散トランザクション ID の再出力、および完了処理を行うワークフローを実行します。 クライアント アプリケーションは、このワークフローをサービス シナリオごとに 1 回だけ実行します。 - -## サーバー アプリケーション - サーバー プロジェクトは、クライアントからのメッセージをリッスンするためのエンドポイントを作成する でホストされます。 ワークフローの中心は、クライアントからフローされたトランザクションを受信し、分散トランザクション ID を出力して、2 つ目の アクティビティを実行する です。 最初のシナリオでは、トランザクションは正常に完了します。 2 番目のシナリオでは、 アクティビティの本体は 5 秒の遅延で、トランザクションのタイムアウトは 2 秒に設定されています。 トランザクションがタイムアウトすると、トランザクションは中止されます。 - -#### サンプルを実行するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] で TransactionServiceExample.sln ソリューションを開きます。 - -2. ソリューションをビルドするには、CTRL + SHIFT + B キーを押しますまたは選択**ソリューションのビルド**から、**ビルド**メニュー。 - -3. ビルドが完了すると、ソリューションを右クリックしを選択**スタートアップ プロジェクトの設定**します。 ダイアログ ボックスから選択**マルチ スタートアップ プロジェクト**させ、両方のプロジェクトのアクションが**開始**。 - -4. F5 キーを押すか、選択**デバッグの開始**から、**デバッグ**メニュー。 または、ctrl キーを押しながら f5 キーを押してまたは選択**デバッグなしで開始**から、**デバッグ**] メニューの [デバッグなしで実行します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Transactions\TRSComposability` diff --git a/docs/framework/windows-workflow-foundation/samples/nopersistscope-activity.md b/docs/framework/windows-workflow-foundation/samples/nopersistscope-activity.md deleted file mode 100644 index 6af1cd4b01d..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/nopersistscope-activity.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: NoPersistScope アクティビティ -ms.date: 03/30/2017 -ms.assetid: 9a0baeb7-a05c-4fac-b905-252758cb71bb -ms.openlocfilehash: 6543756594b6734aec39bf22c5ab6215605341b1 -ms.sourcegitcommit: fb78d8abbdb87144a3872cf154930157090dd933 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/26/2018 -ms.locfileid: "47216203" ---- -# NoPersistScope アクティビティ -このサンプルでは、ワークフローでシリアル化不可能で破棄可能な状態を処理する方法を示します。 ワークフローでシリアル化不可能な状態を永続化しないようにし、破棄可能なオブジェクトをワークフローで使用した後にクリーンアップすることが重要です。 - -## 使用例 - `NoPersistScope` カスタム アクティビティおよびデザイナー。 - -## NoPersistZone アクティビティの使用 - サンプル ワークフローの実行時に、`CreateTextWriter` というカスタム アクティビティによって、 型のオブジェクトが作成されてワークフロー変数に保存されます。 オブジェクトです。 この は、サンプルが実行されるディレクトリにある out.txt という名前のファイルに書き込むように構成されており、コンソールで入力するテキストをエコーするときに アクティビティによって使用されます。 - - エコー ロジックは、ワークフローが永続化されないようにする `NoPersistScope` アクティビティ (このサンプルの一部でもあるコード) 内で実行されます。 入力した場合`unload`コンソールで、ホストがワークフロー インスタンスを永続化しようが、ワークフロー内であるために、この操作がタイムアウト、`NoPersistScope`します。 また、ワークフローは `Dispose` というカスタム アクティビティを使用して、 オブジェクトを使い終わったら破棄します。 `Dispose` アクティビティは、Try ブロックの実行中に例外が発生した場合でも実行されるように、 変数が宣言される アクティビティの ブロック内に配置されます。 - - 入力できます`exit`をワークフロー インスタンスを完了し、プログラムを終了します。 - -#### サンプルを実行するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] で NoPersistZone.sln ソリューションを開きます。 - -2. ソリューションをビルドするには、CTRL + SHIFT + B キーを押しますまたは選択**ソリューションのビルド**から、**ビルド**メニュー。 - -3. F5 キーを押して、ビルドが成功した後、または選択**デバッグの開始**から、**デバッグ**メニューまたは、ctrl キーを押しながら f5 キーを押してまたは選択**デバッグなしで開始**から、**デバッグ** メニューの デバッグなしで実行します。 - -#### クリーンアップするには (省略可能) - -1. SQL インスタンス ストアを削除するには、Cleanup.cmd を実行します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Scenario\ActivityLibrary\NoPersistScope` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/operationscope.md b/docs/framework/windows-workflow-foundation/samples/operationscope.md deleted file mode 100644 index 522faf513ba..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/operationscope.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: OperationScope -ms.date: 03/30/2017 -ms.assetid: 56206a21-1e63-422d-b92a-e5d8b713e707 -ms.openlocfilehash: 562fd9c8ff964cb997012d49600bce73d4441465 -ms.sourcegitcommit: 6eac9a01ff5d70c6d18460324c016a3612c5e268 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/14/2018 -ms.locfileid: "45625894" ---- -# OperationScope -このサンプルでは、メッセージング アクティビティの および を使用して、既存のカスタム アクティビティをワークフロー サービス内の操作として公開する方法を示します。 このサンプルには、`OperationScope` という新しいカスタム アクティビティが含まれています。 このアクティビティは、ユーザーが操作の本文をカスタム アクティビティとして個別に作成できるようにし、それを `OperationScope` アクティビティを使用してサービス操作として簡単に公開できるようにすることで、ワークフロー サービスの開発を容易にするためのものです。 たとえば、2 つの `Add` 引数を受け取って 1 つの `in` 引数を返すカスタム `out` アクティビティは、`Add` にドロップすることでワークフロー サービスの `OperationScope` 操作として公開できます。 - - スコープは、本文として提供されたアクティビティを調べることによって機能します。 バインドされていない `in` 引数は、受信メッセージからの入力であると見なされます。 `out` 引数はすべて、バインドされているかどうかに関係なく、後続の応答メッセージの出力であると見なされます。 公開される操作の名前は、`OperationScope` アクティビティの表示名から取得されます。 最後に、本文アクティビティは、アクティビティの引数にバインドされたメッセージからのパラメーターを使用して、 および にラップされます。 - - このサンプルでは、HTTP エンドポイントを使用してワークフロー サービスを公開します。 サンプルを実行するには、適切な URL ACL を追加する必要があります。 詳細については、次を参照してください。[構成の HTTP および HTTPS](https://go.microsoft.com/fwlink/?LinkId=70353)します。 管理者特権のプロンプトで次のコマンドを実行して、適切な Acl を追加します (ドメイン % のドメインとユーザー名に置き換えられますことを確認します。\\%username%)。 - - **netsh http 追加 urlacl url =http://+:8000/ユーザー ドメイン % =\\%username%** - -### サンプルを実行するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] で OperationScope.sln ソリューションを開きます。 - -2. 複数のスタートアップ プロジェクトを設定するには、ソリューション エクスプ ローラーでソリューションを右クリックし、選択**スタートアップ プロジェクトの設定**します。 複数のスタートアップ プロジェクトとして Scenario および Scenario_Client を (この順序で) 追加します。 - -3. Ctrl キーと Shift キーを押しながら B キーを押して、ソリューションをビルドします。 - - > [!WARNING] - > カスタム アクティビティ `OperationScope` が原因で、BankService.xaml ワークフローを表示するためにこの手順が必要になります。 - -4. Ctrl キーを押しながら F5 キーを押してアプリケーションを実行します。 Scenario_Client コンソールで入力が求められ、対応する出力が Scenario コンソールに表示されます。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Scenario\Services\OperationScope` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/order-processing-with-policy.md b/docs/framework/windows-workflow-foundation/samples/order-processing-with-policy.md deleted file mode 100644 index 5d2ee8e7fe2..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/order-processing-with-policy.md +++ /dev/null @@ -1,145 +0,0 @@ ---- -title: ポリシーを使用した注文処理 -ms.date: 03/30/2017 -ms.assetid: 66833724-dc36-4fad-86b0-59ffeaa3ba6a -ms.openlocfilehash: b927d8e7090f96b22c0510f9651070ab999c91be -ms.sourcegitcommit: efff8f331fd9467f093f8ab8d23a203d6ecb5b60 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/01/2018 -ms.locfileid: "43398371" ---- -# ポリシーを使用した注文処理 -注文処理ポリシー サンプルでは、Windows WF (Workflow Foundation) の [!INCLUDE[netfx35_long](../../../../includes/netfx35-long-md.md)] に導入された重要な機能の一部を示しています。 次の機能が WF ルール エンジンに新しく追加されました。 - -- 演算子のオーバーロードのサポート。 - -- `new` 演算子のサポート。これにより、WF ルールから新しいオブジェクトおよび配列を作成できます。 - -- 拡張メソッドのサポート。これにより、C# のコーディング スタイルとの互換性を持つ拡張メソッドのWF ルールからの呼び出しが容易かつ便利になります。 - -> [!NOTE] -> このサンプルでは、ビルドおよび実行のために [!INCLUDE[netfx35_long](../../../../includes/netfx35-long-md.md)] がインストールされていることが必要です。 [!INCLUDE[vs_current_long](../../../../includes/vs-current-long-md.md)] ではプロジェクトとソリューション ファイルを開く必要があります。 - - このサンプルでは、使用できるアイテムの番号付きリストと郵便番号で構成される顧客の注文を入力する、`OrderProcessingPolicy` プロジェクトを示します。 両方の入力が正しい場合は、注文が正常に処理されますが、正しくない場合は、ポリシーによってエラー オブジェクトが作成され、オーバーロードされた `+` 演算子と定義済みの拡張メソッドによって、ユーザーにエラーが通知されます。 - -> [!NOTE] -> 拡張メソッドの詳細については、次を参照してください。 [c# バージョン 3.0 の仕様](https://go.microsoft.com/fwlink/?LinkId=95402)します。 - - サンプルは、以下のプロジェクトで構成されます。 - -- `OrderErrorLibrary` - - `OrderErrorLibrary` は、`OrderError` クラスおよび `OrderErrorCollection` クラスを定義するクラス ライブラリです。 `OrderError` インスタンスは、無効な入力が行われたときに作成されます。 ライブラリには、`OrderErrorCollection` 内のすべての `ErrorText` オブジェクトの `OrderError` プロパティを出力する `OrderErrorCollection` クラスの拡張メソッドも用意されています。 - -- `OrderProcessingPolicy` - - `OrderProcessingPolicy` プロジェクトは、1 つの `PolicyFromFile` アクティビティを定義する WF コンソール アプリケーションです。 このアクティビティには、以下のルールがあります。 - - - `invalidItemNum` - - このルールでは、アイテム番号が 1 ~ 6 の範囲内かどうかが検証されます。 アイテム番号が有効範囲内の場合は、コンソールへの出力を除き、処理は何も行われません。 アイテム番号が 1 ~ 6 の範囲外の場合は、`invalidItemNum` ルールによって以下の処理が行われます。 - - 1. 新しい `OrderError` オブジェクトを作成し、入力されたアイテム番号をこのオブジェクトに渡して、このオブジェクトの `ErrorText` プロパティおよび `CustomerName` プロパティを設定します。 - - 2. `invalidItemNumErrorCollection` オブジェクトを作成します。 - - 3. 新しく作成した `OrderError` インスタンスを `invalidItemNumErrorCollection` に追加します。 - - これは、ルール内でオブジェクトのインスタンスを作成できる `new` 演算子がサポートされていることを示します。 - - - `invalidZip` - - このルールでは、郵便番号が 5 桁で、600 ~ 99998 の範囲内にあるかどうかを検証します。 郵便番号が有効範囲内の場合は、コンソールへの出力を除き、処理は何も行われません。 郵便番号が 5 桁よりも少ないか、郵便番号が 00600 ~ 99998 の範囲外の場合は、`invalidZip` ルールによって以下の処理が行われます。 - - 1. `OrderError` オブジェクトを作成し、入力された郵便番号をこのオブジェクトに渡して、このオブジェクトの `ErrorText` プロパティおよび `CustomerName` プロパティを設定します。 - - 2. `invalidZipCodeErrorCollection` オブジェクトを作成します。 - - 3. 新しく作成した `OrderError` インスタンスを、新しく作成した `invalidZipCodeErrorCollection` に追加します。 - - このルールで、`new` 演算子のサポートが再度実現され、ルール内でのオブジェクトのインスタンスの作成が可能となります。 - - - `displayErrors` - - このルールでは、上記の 2 つの `OrderErrorCollection` オブジェクト、`invalidItemNumErrorCollection` および `invalidIZipCodeErrorCollection` の 2 つのルールによって追加されたエラーがあるかどうかを確認します。 エラーがある場合 (`invalidItemNumErrorCollection` または `invalidZipCodeErrorCollection`が `null` ではない場合)、このルールによって以下の処理が行われます。 - - 1. オーバー ロードされた呼び出し`+`の内容をコピーする演算子`invalidItemNumErrorCollection`と`invalidZipCodeErrorCollection`を`invalidOrdersCollection``OrderErrorCollection`インスタンス。 - - 2. `PrintOrderErrors` の `invalidOrdersCollection` 拡張メソッドを呼び出し、`ErrorText` 内のすべての `orderError` オブジェクトの `invalidOrdersCollection` プロパティを出力します。 - - `+` のオーバーロードされた `OrderErrorCollection` 演算子は、`OrderErrorCollection` プロジェクトの `OrderErrorLibrary` クラスで定義されています。 この演算子は、2 つの `OrderErrorCollection` オブジェクトを受け取り、1 つの `OrderErrorCollection` オブジェクトに結合します。 - - `PrintOrderErrors` 拡張メソッドも `OrderErrorLibrary` プロジェクトで定義されています。 拡張メソッドは C# の新機能であり、開発者は、クラスの派生や元の型の再コンパイルを行わなくても、新しいメソッドを既存の CLR 型のパブリック コントラクトに追加できます。 - - サンプルを実行すると、名前、購入するアイテムの番号、および郵便番号の入力が求められます。 その後、この情報は、ポリシー アクティビティで定義されているルールによって検証されます。 このプログラムの出力サンプルを次に示します。 - -``` -Please enter your name: John - -What would you like to purchase? - (1) Vista Ultimate DVD - (2) Vista Ultimate Upgrade DVD - (3) Vista Home Premium DVD - (4) Vista Home Premium Upgrade DVD - (5) Vista Home Basic DVD - (6) Vista Home Basic Upgrade DVD - -Please enter an item number: 1 - -Please enter your 5-Digit zip code: 98102 - - Executing Rule: invalidItemNum - Executing Rule: invalidZip - Executing Rule: displayErrors - - Thank you for your order, it has been processed. - -Workflow Completed -Another Order? (Y/N): y - -Please enter your name: Joel - -What would you like to purchase? - (1) Vista Ultimate DVD - (2) Vista Ultimate Upgrade DVD - (3) Vista Home Premium DVD - (4) Vista Home Premium Upgrade DVD - (5) Vista Home Basic DVD - (6) Vista Home Basic Upgrade DVD - -Please enter an item number: 8 - -Please enter your 5-Digit zip code: 0000 - - Executing Rule: invalidItemNum - Executing Rule: invalidZip - Executing Rule: displayErrors - - Your order contains the following error(s) - -Error: No item number found. Please choose an available item. -Error: Invalid zip code. Please choose a zip code between 00600 and 99998. - -Workflow Completed -Another Order? (Y/N): n -``` - -### サンプルをセットアップ、ビルド、および実行するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] で OrderProcessingPolicy.sln プロジェクト ファイルを開きます。 - -2. このソリューションには、`OrderErrorLibrary` および `OrderProcessingPolicy` という 2 つの異なるプロジェクトが含まれています。 `OrderProcessingPolicy` プロジェクトでは、`OrderErrorLibrary` プロジェクトで定義されているクラスとメソッドが使用されます。 - -3. すべてのプロジェクトをビルドします。 - -4. **[実行]** をクリックします。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Rules\Policy\OrderProcessingPolicy` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/overloadgroups.md b/docs/framework/windows-workflow-foundation/samples/overloadgroups.md deleted file mode 100644 index ad492c9da8b..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/overloadgroups.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -title: OverloadGroups -ms.date: 03/30/2017 -ms.assetid: d1d547d2-f5fb-4de3-a959-ee6139a4f1ad -ms.openlocfilehash: 0773e76d36b25ad5485cc8912c7012815412de9f -ms.sourcegitcommit: 2eceb05f1a5bb261291a1f6a91c5153727ac1c19 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/04/2018 -ms.locfileid: "43514137" ---- -# OverloadGroups -このサンプルは、次の 2 つの興味深い特性を持つアクティビティ (`CreateLocation`) で構成されます。 - -1. いくつかの必須の引数といくつかの省略可能な引数があります。 - -2. ユーザーは、2 つの異なる引数セットのうちのどちらを指定するかを選択できます。 - - これらの動作は、次の 2 つの機能によって実現されます。 - -- `[isRequired]` : 特定のアクティビティのプロパティが割り当てられているかどうかを検証し、割り当てられていない場合は例外をスローします。 - -- `[OverloadGroup]` : 一連の引数をまとめて、アクティビティのユーザーが 2 つのセットのうちのどちらを使用するかを選択できるようにします。 ユーザーは、同じインスタンス内の異なるオーバーロード グループの引数を使用できません。 - - さまざまなワークフローを設定したら、 コレクションを返す を呼び出します。 オブジェクトをコンソールに出力します。 - -### サンプルをセットアップ、ビルド、および実行するには - -1. 開く、 **OverloadGroups.sln**サンプル ソリューション[!INCLUDE[vs2010](../../../../includes/vs2010-md.md)]します。 - -2. ソリューションをビルドして実行します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Validation\OverloadGroups` diff --git a/docs/framework/windows-workflow-foundation/samples/persistence.md b/docs/framework/windows-workflow-foundation/samples/persistence.md deleted file mode 100644 index bd33e38a8b0..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/persistence.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -title: 永続性 -ms.date: 03/30/2017 -ms.assetid: 79c14759-9f87-458a-b339-beec8300e339 -ms.openlocfilehash: 6a492449c988cbcac2c650fa77a277620be6dfd3 -ms.sourcegitcommit: 3d5d33f384eeba41b2dff79d096f47ccc8d8f03d -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 05/04/2018 -ms.locfileid: "33514583" ---- -# 永続性 -このセクションには、Windows Workflow Foundation (WF) の永続メディアへの永続化ワークフローを示すサンプルが含まれています。 - -## このセクションの内容 - [ワークフロー アプリケーションの永続化](../../../../docs/framework/windows-workflow-foundation/samples/persisting-a-workflow-application.md) - を実行し、アイドル状態になったときにアンロードしてから、再読み込みしてその実行を継続する方法を示します。 - - [組み込みの構成](../../../../docs/framework/windows-workflow-foundation/samples/built-in-configuration.md) - SQL ワークフロー インスタンス ストアの使用法と構成を示します。 - - [SQLStoreExtensibility](../../../../docs/framework/windows-workflow-foundation/samples/sqlstoreextensibility.md) - SQL ワークフロー インスタンス ストアの昇格したプロパティの使用法と構成を示します。 - - [プロパティ昇格アクティビティ](../../../../docs/framework/windows-workflow-foundation/samples/property-promotion-activity.md) - このサンプルでは、 昇格機能をワークフロー作成エクスペリエンスに直接統合するエンド ツー エンドのソリューションを示します。 diff --git a/docs/framework/windows-workflow-foundation/samples/persisting-a-workflow-application.md b/docs/framework/windows-workflow-foundation/samples/persisting-a-workflow-application.md deleted file mode 100644 index 5587c08f900..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/persisting-a-workflow-application.md +++ /dev/null @@ -1,60 +0,0 @@ ---- -title: ワークフロー アプリケーションの永続化 -ms.date: 03/30/2017 -ms.assetid: abcff14c-f047-4195-ba26-d27f4a82c24e -ms.openlocfilehash: 0c225a9ed56a742fce0aaff3704bab31dabb0b9a -ms.sourcegitcommit: 2eceb05f1a5bb261291a1f6a91c5153727ac1c19 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/04/2018 -ms.locfileid: "43500005" ---- -# ワークフロー アプリケーションの永続化 -このサンプルでは、 を実行し、アイドル状態になったときにアンロードしてから、再読み込みしてその実行を継続する方法を示します。 - -## サンプルの詳細 - は、単純なインターフェイスを提供していくつかのより一般的なホスト シナリオを実現する、単一のワークフロー インスタンスのホストです。 このようなシナリオの 1 つに、永続化によって容易になる実行時間の長いワークフローがあります。 永続化のホスト コントロールは、 で永続化操作を呼び出すか、 イベントを処理して が永続化することを示すことで実行されます。 - - サンプル ワークフローは、ユーザーに名前の入力を求める アクティビティ、`ReadLine` の再開を通じて名前を入力として受け取るための アクティビティ、およびメッセージをユーザーにエコーするためのもう 1 つの です。 ワークフローが入力を待機しているとき、これは永続化に適したポイントになります。 これは ポイントと呼ばれています。 は、ワークフロー プログラムが永続化可能で、ブックマークの再開待ちの状態で、他の処理が実行されていないとき常に、 イベントを発生します。 このサンプルのワークフローでは、そのポイントが `ReadLine` アクティビティの実行開始直後に発生します。 - - A永続化を実行するよう設定されて、 `System.Runtime.Persistence.InstanceStore`します。 このサンプルでは、 を使用しています。 `System.Runtime.Persistence.InstanceStore`に割り当てる必要があります、前に、プロパティ、を実行します。 - - このサンプルでは、 イベントにハンドラーを追加します。 このイベントのハンドラーは、 を返すことによって が行う処理を示します。 が返された場合、 はアンロードされます。 - - その後、このサンプルはユーザーからの入力を受け入れ、永続化されたワークフローを新しい に読み込みます。 これは新しいを作成することによって、再作成、 `System.Runtime.Persistence.InstanceStore`、インスタンスに完了してアンロードされたイベントに関連付けると、呼び出してターゲット ワークフロー インスタンスの識別子を使用します。 インスタンスが取得されたら、`ReadLine` アクティビティのブックマークが再開されます。 ワークフローは、`ReadLine` アクティビティ内から実行を続け、最後まで実行します。 ワークフローが完了し、アンロード、 `System.Runtime.Persistence.InstanceStore`ワークフローを削除する最後にもう一度と呼びます。 - -#### このサンプルを使用するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] のコマンド プロンプトを開きます。 - - このサンプルを実行するには、既定で [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] と共にインストールされる SQL Server Express が必要です。 - -2. サンプル ディレクトリ (\WF\Basic\Persistence\InstancePersistence\CS) に移動して、CreateInstanceStore.cmd を実行します。 - - > [!CAUTION] - > CreateInstanceStore.cmd スクリプトは、SQL Server 2008 Express の既定のインスタンスにデータベースを作成しようとします。 別のインスタンスにデータベースをインストールする場合は、そのようにスクリプトを変更してください。 - -3. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] を使用して Persistence.sln ソリューション ファイルを開き、Ctrl キーと Shift キーを押しながら B キーを押してビルドします。 - - > [!CAUTION] - > SQL Server の既定以外のインスタンスにデータベースをインストールした場合は、ソリューションをビルドする前に、コードの接続文字列を更新してください。 - -4. プロジェクトの bin ディレクトリ (\WF\Basic\Persistence\InstancePersistence\bin\Debug) に移動して、サンプルを管理者特権で実行[!INCLUDE[fileExplorer](../../../../includes/fileexplorer-md.md)]Workflow.exe を右クリックし、選択、 **を管理者として実行**. - -#### インスタンス ストア データベースを削除するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] のコマンド プロンプトを開きます。 - -2. サンプル ディレクトリに移動して RemoveInstanceStore.cmd を実行します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Persistence\InstancePersistence` - -## 関連項目 - [AppFabric のホストおよび永続化のサンプル](https://go.microsoft.com/fwlink/?LinkId=193961) diff --git a/docs/framework/windows-workflow-foundation/samples/policy-activity-in-net-framework-4-5.md b/docs/framework/windows-workflow-foundation/samples/policy-activity-in-net-framework-4-5.md deleted file mode 100644 index 97c3cbf1be0..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/policy-activity-in-net-framework-4-5.md +++ /dev/null @@ -1,81 +0,0 @@ ---- -title: .NET Framework 4.5 のポリシー アクティビティ -ms.date: 03/30/2017 -ms.assetid: 8e375e0c-d7c1-4d69-88ab-36d52db0aa7e -ms.openlocfilehash: 9d8983f2f1d3f75beffeacfff4b673f6c23c4204 -ms.sourcegitcommit: 2350a091ef6459f0fcfd894301242400374d8558 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/21/2018 -ms.locfileid: "46562269" ---- -# .NET Framework 4.5 のポリシー アクティビティ -Policy4 アクティビティでの Windows Workflow Foundation [!INCLUDE[netfx35_long](../../../../includes/netfx35-long-md.md)] (WF 3.5)オブジェクトでの Windows Workflow Foundation で使用される[!INCLUDE[netfx_current_long](../../../../includes/netfx-current-long-md.md)](WF 4.5) WF 3.5 に付属しているルール エンジンを使用して直接します。 このアクティビティを使用すると、WF 3.5 を作成して実行できます。 Windows Workflow Foundation の一部として含まれている WF 3.5 ルール エンジンの詳細については、Windows Workflow Foundation ルール エンジンの概要を参照してください。 移行の詳細については WF へのルール[!INCLUDE[netfx_current_long](../../../../includes/netfx-current-long-md.md)]をお読みください[移行ガイダンス](../../../../docs/framework/windows-workflow-foundation/migration-guidance.md)します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Scenario\ActivityLibrary\Rules-Policy4` - -## このサンプルのプロジェクト - -|プロジェクト名|説明|メイン ファイル| -|------------------|-----------------|----------------| -|Policy4|Policy4 アクティビティとその [!INCLUDE[wf1](../../../../includes/wf1-md.md)] デザイナーが含まれます。|**Policy4.cs**: Policy4 アクティビティ定義。

**PolicyDesigner.xaml**: Policy4 アクティビティのカスタム デザイナー。 ルール エディターを使用して ([RuleSetDialog クラス](https://go.microsoft.com/fwlink/?LinkId=150378)) から[!INCLUDE[wf1](../../../../includes/wf1-md.md)]ルール エンジン。| -|ImperativeCodeClientSample|命令型 C# コードで、Policy4 アプリケーションを使用してワークフローを構成および実行するサンプル クライアント アプリケーションです ([!INCLUDE[wf1](../../../../includes/wf1-md.md)] デザイナーは不使用)。|**ApplyDiscount.rules**: ファイルと[!INCLUDE[wf1](../../../../includes/wf1-md.md)]ルール定義。

**Order.cs**: 顧客の注文を表す型。 ルールはこの型のオブジェクトに適用されます。

**Program.cs**: 構成および Order オブジェクトのインスタンスに ApplyDiscount.rules で定義されたルールを適用する Policy4 アクティビティを含むワークフローを実行します。

**App.config**: ルール ファイルのパスの構成ファイル。| -|DesignerClientSample|[!INCLUDE[wf1](../../../../includes/wf1-md.md)] デザイナーで、Policy4 アプリケーションを使用してワークフローを構成および実行するサンプル クライアント アプリケーションです。|**Sequence1.xaml**: Policy4 アクティビティを使用してルール評価を実行するシーケンシャル ワークフロー。

`Program.cs`: Sequence1.xaml で定義されているワークフローのインスタンスを実行します。| - -## Policy4 アクティビティ - Policy4 アクティビティは、ワークフローで RuleSet を実行できるようにする [!INCLUDE[wf1](../../../../includes/wf1-md.md)] の派生クラスです。 次のコード例は、このアクティビティのパブリック OM の簡略化された定義です。 - -```csharp -public class Policy4Activity: NativeActivity -{ - public RuleSet RuleSet - - [IsRequired] - public InArgument Input - - public OutArgument ValidationErrors -} -``` - -|プロパティ|説明| -|--------------|-----------------| -|RuleSet|WF [RuleSet クラス](https://go.microsoft.com/fwlink/?LinkId=150379)アクティビティが実行されるときに評価される .NET Framework 3.5 用です。| -|TargetObject|対象のオブジェクト内のルール、 [RuleSet クラス](https://go.microsoft.com/fwlink/?LinkId=150379)評価されます。| -|ValidationError|によって返される検証エラーの一覧、[!INCLUDE[wf1](../../../../includes/wf1-md.md)]を検証するときに、.NET Framework 3.5 用のルール エンジン、 [RuleSet クラス](https://go.microsoft.com/fwlink/?LinkId=150379)に対して実行する前にターゲット オブジェクト。| - -## Policy4 アクティビティ デザイナー - Policy4 デザイナーを使用すると、コードを記述することなく Policy4 アクティビティを構成できます。 ソリューションをビルドした後にあります、ツールボックスのセクションで**Microsoft.Samples.Activities.Rules**します。 - - WF デザイナーでは、対象オブジェクトや RuleSet を構成できます。 ときに、 **Edit RuleSet**ボタンをクリックして、WF [RuleSetDialog クラス](https://go.microsoft.com/fwlink/?LinkId=150378)の[!INCLUDE[netfx35_short](../../../../includes/netfx35-short-md.md)]が表示されます。 このダイアログは、ホストを変更した [!INCLUDE[netfx35_short](../../../../includes/netfx35-short-md.md)] ルール エディターです。 このエディターを使用して、Policy4 アクティビティで実行するルールを作成および編集します。 - -## このサンプルの使用 - このサンプルを実行するのに特別な設定は必要ありません。 Visual Studio でソリューションを開き、F5 キーを押してアプリケーションを実行するだけです。 - - このサンプルには、ImperativeCodeClientSample と DesignerClientSample の 2 つのクライアント アプリケーションがあります。 ImperativeCodeClientSample クライアントは、C# 命令型コードを使用して Policy4 アクティビティを構成および実行する方法を示します。 DesignerClientSample は、デザイナーを使用して Policy4 アクティビティを構成および実行する方法を示します。 - -#### ImperativeCodeClientSample クライアント アプリケーションを実行するには - -1. [!INCLUDE[vs_current_long](../../../../includes/vs-current-long-md.md)] を使用して、Policy4Sample.sln ソリューション ファイルを開きます。 - -2. **ソリューション エクスプ ローラー**を右クリックし、 **ImperativeCodeClientSample**プロジェクト選び**スタートアップ プロジェクトとして設定**します。 - -3. プロジェクトを実行するには、Ctrl キーを押しながら F5 キーを押します。 - -#### ImperativeCodeClientSample クライアント アプリケーションを実行するには - -1. [!INCLUDE[vs_current_long](../../../../includes/vs-current-long-md.md)] を使用して、Policy4Sample.sln ソリューション ファイルを開きます。 - -2. **ソリューション エクスプ ローラー**を右クリックし、 **DesignerClientSample**プロジェクト。 - - - 選択**スタートアップ プロジェクトとして設定**します。 - -3. プロジェクトをコンパイルするには、Ctrl キーと Shift キーを押しながら B キーを押します。 - -4. プロジェクトを実行するには、Ctrl キーを押しながら F5 キーを押します。 \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/property-promotion-activity.md b/docs/framework/windows-workflow-foundation/samples/property-promotion-activity.md deleted file mode 100644 index d97d77460b1..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/property-promotion-activity.md +++ /dev/null @@ -1,194 +0,0 @@ ---- -title: プロパティ昇格アクティビティ -ms.date: 03/30/2017 -ms.assetid: 802196b7-1159-4c05-b41b-d3bfdfcc88d9 -ms.openlocfilehash: 6e059a0d344e6c62833feaa890c459c141a49673 -ms.sourcegitcommit: a885cc8c3e444ca6471348893d5373c6e9e49a47 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/06/2018 -ms.locfileid: "43870085" ---- -# プロパティ昇格アクティビティ -このサンプルでは、 昇格機能をワークフロー作成に直接統合するエンド ツー エンドのソリューションを示します。 昇格機能の使用を単純化する構成要素、ワークフロー アクティビティ、およびワークフロー拡張機能のコレクションが用意されています。 また、サンプルには、このコレクションの使用方法を示す簡単なワークフローが含まれています。 - -> [!NOTE] -> サンプルは、演習目的で利用するためにのみ提供されています。 サンプルを運用環境で使用することは想定されていないため、運用環境でのサンプルのテストは行われていません。 Microsoft では、これらのサンプルに関する製品サポート情報を提供していません。 - -## 必須コンポーネント - -- 初期化された データベース - -- [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] - -## サンプル プロジェクト - -- **PropertyPromotionActivity**プロジェクトには、昇格固有の構成要素、ワークフロー アクティビティ、およびワークフロー拡張機能に関連するファイルが含まれています。 - -- **CounterServiceApplication**プロジェクトに使用したサンプル ワークフローが含まれています、 **SqlWorkflowInstanceStorePromotion**プロジェクト。 - -- データベースに対して実行される必要がある SQL スクリプト (PropertyPromotionActivitySQLSample.sql)。 - -- 2 つの [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] プロジェクトをリンクするソリューション ファイル (`PropertyPromotionActivity.sln`)。 - -## サンプルをセットアップおよび実行するには - -1. ワークフロー永続化データベースを初期化します。 - - 1. サンプル ディレクトリ (\WF\Basic\Persistence\PropertyPromotionActivity) に移動して、CreateInstanceStore.cmd を実行します。 - - 2. 管理特権がない場合は、SQL Server ログインを作成します。 SQL Server Management studio に移動**セキュリティ**、**ログイン**します。 右クリックして**ログイン**新しいログインを作成します。 開き、自分の ACL ユーザーを SQL ロールに追加**データベース**、 **InstanceStore**、**セキュリティ**します。 右クリック**ユーザー**選択**新しいユーザー**します。 設定、**ログイン名**上記で作成したユーザーにします。 そのユーザーを、System.Activities.DurableInstancing.InstanceStoreUsers (およびその他) のデータベース ロールのメンバーシップに追加します。 ユーザーが既に存在している場合もあります (ユーザー dbo など)。 - -2. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] で PropertyPromotionActivity.sln ソリューション ファイルを開きます。 - -3. ローカルの SQL Server Express 以外のデータベースにインスタンス ストアを作成した場合は、データベース接続文字列を更新する必要があります。 下の App.config ファイルの変更、 **CounterServiceApplication**の値を設定して、`connectionString`属性を`sqlWorkflowInstanceStorePromotion`ノード初期化された永続性データベースを指すため、手順 1 でします。 - -4. ソリューションをビルドして実行します。 これにより、カウンター WF サービスが開始され、ワークフロー インスタンスが自動的に開始されます。 - -5. 永続化データベースの [dbo].[CounterService] ビューですべての行をすばやく選択します (このビューは、手順 1. の CreateInstanceStore.cmd の実行により追加されました)。 以下と同様の結果セットが生成されます。 - - |InstanceId|CounterValue|CounterValueLastUpdated| - |----------------|------------------|-----------------------------| - |2FA2C302-929E-4C0D-8C25-768A3DA20CE5|12|2010-02-18 22:48:01.740| - - ビューの更新を続行すると、CounterValue および CounterValueLastUpdated が 2 秒ごとに変更されます。 これは、カウンターがカウンター自身を更新する間隔です。 CounterValue と CounterValueLastUpdated は、このワークフローの昇格されたプロパティを表します。 - -## サンプルを削除するには - -- サンプル ディレクトリ (\WF\Basic\Persistence\PropertyPromotionActivity) で RemoveInstanceStore.cmd を実行します。 - -## このサンプルについて - サンプルには、次の 2 つのプロジェクトと SQL ファイルが含まれています。 - -- **CounterServiceApplication**は単純なカウンター WF サービスをホストするコンソール アプリケーションです。 `Start` エンドポイントを通して一方向のメッセージを受信すると、ワークフローは 0 から 29 までをカウントし、2 秒ごとにカウンター変数がインクリメントされます。 カウンターがインクリメントされるたびに、ワークフローが永続化され、昇格されたプロパティは [dbo].[CounterService] ビューで更新されます。 コンソール アプリケーションが実行されると、WF サービスをホストし、メッセージを `Start` エンドポイントに送信して、カウンター WF インスタンスを作成します。 - -- **PropertyPromotionActivity**構成要素、ワークフロー アクティビティ、およびワークフロー拡張機能を含むクラス ライブラリですが、 **CounterServiceApplication**を使用します。 - -- **PropertyPromotionActivitySQLSample.sql**を作成し、[dbo] ビューを追加します [。CounterService] データベースにします。 - -### CounterServiceApplication - -#### SqlWorkflowInstanceStorePromotion 構成要素の使用 - `SqlWorkflowInstanceStorePromotion` 構成要素は `SqlWorkflowInstanceStore` 構成要素から継承されますが、`promotionSets` という追加の構成要素が追加されます。 `promotionSets` 要素は、ユーザーが構成を通して昇格されたプロパティを指定できるようにします。 これは、サンプルで使用される構成ファイルです。 - -```xml - - - - - - - - -``` - - [dbo].[CounterService] ビューの定義を確認します。 - -```sql -create view [dbo].[CounterService] as - select [InstanceId], - [Value1] as [CounterValue], - [Value2] as [CounterValueLastUpdated] - from [System.Activities.DurableInstancing].[InstancePromotedProperties] - where [PromotionName] = 'CounterService' -go -``` - - ワークフロー インスタンスが永続化されると、構成で定義された各 `InstancePromotedProperties` の `PromotionSet` ビューに行が挿入されます。 この行には、`PromotionSet` のすべての昇格されたプロパティが含まれます (列ごとに 1 つの昇格されたプロパティ)。 この `PromotionSet` は、`InstanceId, PromotionName` のタプルによってキー指定されます。 このサンプルには、名前属性が `PromotionSet` である構成で定義されている 1 つの `CounterService` があります。 `PromotionName` 列の値が `PromotionSet` 要素の名前属性と等しいことがわかります。 - - `promotedValue` 要素の順序は、`InstancePromotedProperties` ビューの昇格されたプロパティの位置と相関しています。 `Count` は最初の `promotedValue` 要素です。 その結果、`Value1` ビューの `InstancePromotedProperties` 列にマップされます。 `LastIncrementedAt` は 2 番目の `promotedValue` 要素です。 その結果、`Value2` ビューの `InstancePromotedProperties` 列にマップされます。 - -#### PromoteValue アクティビティの使用 - Windows Workflow Foundation デザイナーで CounterService.xamlx ファイルを確認します。 WF の定義には、`PromoteValue` および `PromoteValue` の 2 つの特別なアクティビティがあります。 - - `PromoteValue` アクティビティには、`Name` として定義されているその `Count` メンバーがあります。 これは、構成の最初の `promotedValue` 要素と一致し、`Value` ワークフロー変数として定義されているその `Counter` があります。 ワークフローが永続化されると、`Counter` ワークフロー変数は昇格されたプロパティとして `Value1` ビューの `InstancePromotedProperties` 列に保存されます。 - - `PromoteValue` アクティビティには、`Name` として定義されているその `LastIncrementedAt` メンバーがあります。 これは、構成の 2 番目の `promotedValue` 要素と一致し、`Value` ワークフロー変数として定義されているその `TimeLastIncremented` があります。 これは、ワークフローが永続化されると、`TimeLastIncremented` ワークフロー変数の値が昇格されたプロパティとして `Value2` ビューの `InstancePromotedProperties` 列に保存されることを意味します。 - - `PromotedValue` アクティビティには、`ClearExistingPromotedData` というブール型のメンバーもあります。 このメンバーを `true` に設定すると、ワークフローのその時点までのすべての昇格されたプロパティ値が消去されます。 たとえば、Sequence アクティビティが次のように定義されているとします。 - -1. PromoteValue {名前 ="Count"、値 3 を =} - -2. PromoteValue {名前 = 値"LastIncrementedAt"1-1-2000 の =} - -3. 永続化 - -4. PromoteValue {名前 ="Count"、値 = 4、ClearExistingPromotedData = true} - -5. 永続化 - - 2 番目の永続化では、`Count` の昇格された値は 4 になります。 ただし、昇格された値の`LastIncrementedAt`なります`NULL`します。 手順 4. で `ClearExistingPromotedData` を `true` に設定しなかった場合は、2 番目の永続化の後、Count の昇格された値は 4 になります。 その結果、`LastIncrementedAt` の昇格された値は 1-1-2000 のままです。 - -### PropertyPromotionActivity - このクラス ライブラリには、 昇格機能の使用を単純化する次のパブリック クラスが含まれています。 - -#### PromoteValue クラス - このクラスは 1 つのプロパティを昇格します。 昇格されたプロパティの名前は、構成の `promotedValue` 要素の名前属性と同じである必要があります。 このアクティビティは、ワークフロー デザイナーで使用できます。 使用例については、「CounterServiceApplication」を参照してください。 - -```csharp -public class PromoteValue : CodeActivity -{ - public PromoteValue() - { - } - - public bool ClearExistingPromotedData { get; set; } - public string Name { get; set; } - public InArgument Value { get; set; } -} -``` - - ClearExistingPromotedData (Bool) - このアクティビティの前に昇格されたすべての値を消去します。 - - Name (string) - このプロパティを表す名前。 これはの name 属性と一致する必要があります、 \ 要素で構成します。 - - 値 (InArgument\) - 列に格納する変数/値。 - -#### PromoteValues クラス - 複数のプロパティを昇格します。 昇格されたプロパティの名前は、構成の `promotedValue` 要素のすべての名前属性と同じである必要があります。 使用方法は、`PromoteValue` アクティビティと似ていますが、複数のプロパティを同時に昇格できる点が異なります。 このアクティビティは、ワークフロー デザイナーでは使用できません。 - -``` -public class PromoteValues : CodeActivity -{ - public PromoteValues() - { - this.ValuesToPromote = new Dictionary(); - } - - public bool ClearExistingPromotedData { get; set; } - public IDictionary ValuesToPromote { get; set; } -} -``` - -#### SqlWorkflowInstanceStorePromotionBehavior - `SqlWorkflowInstanceStoreBehavior` から派生します。 この派生クラスは、カスタムの永続化参加要素 (このライブラリの一部でもあります) をワークフロー拡張機能として追加します。 前の 2 つのワークフロー アクティビティの実装は、このカスタムの永続化参加要素に依存しています。 - -``` -public class SqlWorkflowInstanceStorePromotionBehavior : - SqlWorkflowInstanceStoreBehavior, IServiceBehavior -{ - public void Promote(string name, IEnumerable promoteAsSqlVariant, - IEnumerable promoteAsBinary) - -} -``` - - このクラス ライブラリには、`ConfigurationElement` の `SqlWorkflowInstanceStorePromotionElement` 実装と前の昇格アクティビティで使用されたカスタムの永続化参加要素も含まれています。 - -### PropertyPromotionActivitySQLSample - この SQL ファイルでは、CounterService 昇格セットを持つすべてのインスタンスをクエリするために `[dbo].[CounterService]` ビューのほかに `[InstancePromotedProperties]` ビューも作成されます。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Persistence\PropertyPromotionActivity` - -## 関連項目 - [AppFabric のホストおよび永続化のサンプル](https://go.microsoft.com/fwlink/?LinkId=193961) diff --git a/docs/framework/windows-workflow-foundation/samples/rangeenumeration-activity.md b/docs/framework/windows-workflow-foundation/samples/rangeenumeration-activity.md deleted file mode 100644 index b7a16999e56..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/rangeenumeration-activity.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: RangeEnumeration アクティビティ -ms.date: 03/30/2017 -ms.assetid: ca5b78f4-94fa-4aa7-830d-26039ac422c8 -ms.openlocfilehash: c9cf522227620422b414adc26cbc0bf338bf57d4 -ms.sourcegitcommit: c7f3e2e9d6ead6cc3acd0d66b10a251d0c66e59d -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/08/2018 -ms.locfileid: "44207591" ---- -# RangeEnumeration アクティビティ -このサンプルでは、数値のコレクションを反復処理するカスタム アクティビティを作成する方法を示します。次の表で、このサンプルに含まれるメイン ファイルについて説明します。 - -|ファイル名|説明| -|---------------|-----------------| -|RangeEnumeration.cs|`RangeEnumeration` クラスをオーバーライドし、一連の数値をループする というカスタム アクティビティを定義します。| -|RangeEnumerationSample.cs|`RangeEnumeration` アクティビティを使用して数値のコレクションを反復処理するクライアント アプリケーション。| - - 次の表で、`RangeEnumeration` アクティビティのプロパティについて説明します。 - -|プロパティ|説明| -|--------------|-----------------| -|[開始]|ループの開始位置を示す整数。| -|Stop|ループの停止位置を示す整数。| -|手順|各反復処理の反復回数を指定します。| -|Body|各反復処理中に実行するコードを指定します。| - -#### このサンプルを使用するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] を使用して、RangeEnumeration.sln ソリューション ファイルを開きます。 - -2. ソリューションをビルドするには、Ctrl キーと Shift キーを押しながら B キーを押します。 - -3. ソリューションを実行するには、Ctrl キーを押しながら F5 キーを押します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Scenario\ActivityLibrary\RangeEnumeration` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/regular-expression-activities.md b/docs/framework/windows-workflow-foundation/samples/regular-expression-activities.md deleted file mode 100644 index be0408403d8..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/regular-expression-activities.md +++ /dev/null @@ -1,116 +0,0 @@ ---- -title: 正規表現アクティビティ -ms.date: 03/30/2017 -ms.assetid: b8f24694-49db-4339-92ec-014e3d4ae63b -ms.openlocfilehash: 50daa5b6d7baab37f372de4c30c2e0d12b4fa943 -ms.sourcegitcommit: 6eac9a01ff5d70c6d18460324c016a3612c5e268 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/16/2018 -ms.locfileid: "45668952" ---- -# 正規表現アクティビティ -このサンプルでは、 名前空間の正規表現機能を公開する一連のアクティビティを作成する方法を示します。 このカスタム アクティビティはワークフロー アプリケーション内で使用できます。 正規表現の詳細については、次を参照してください。 [N:System.Text.RegularExpressions](https://go.microsoft.com/fwlink/?LinkId=150434) Namespace です。 - - 次の表に、このサンプルのカスタム アクティビティの詳細を示します。 - -|アクティビティ|説明| -|--------------|-----------------| -|IsMatch|正規表現で入力文字列内に一致が見つかったかどうかを示します。| -|一致する文字列|入力文字列で、正規表現に一致するすべての文字列を検索し、一致した文字列をすべて返します。| -|Replace|指定された入力文字列内で、正規表現パターンに一致する文字列を、指定された置換文字列で置き換えます。| - -## IsMatch - `IsMatch` カスタム アクティビティは、`true` 文字列プロパティが `Input` プロパティで指定された正規表現で一致を見つけると、`Pattern` を返します。 このアクティビティは から派生し、 メソッド内で、 メソッドを呼び出します。 - - 次の表で、`IsMatch` カスタム アクティビティのプロパティと戻り値について説明します。 - -|プロパティ値または戻り値|説明| -|------------------------------|-----------------| -|Pattern (必須)|検索に使用する正規表現。| -|Input (必須)|検索対象の入力文字列。| -|RegexOptions|ビットごとの OR の組み合わせ[RegexOptions](https://go.microsoft.com/fwlink/?LinkId=150446)列挙値。| -|戻り値|指定されたパターンで一致が見つかった場合は `true`、それ以外の場合は `false`。| - - 次のコード例は、`IsMatch` カスタム アクティビティの使用方法を示します。 - -``` -new IsMatch -{ - Pattern = new InArgument( @"^-?\d+(\.\d{2})?$"), - Input = "20.00", -}; -``` - -## 一致する文字列 - `Matches` カスタム アクティビティは、入力文字列で、正規表現に一致するすべての文字列を検索し、一致した文字列をすべて返します。 このアクティビティは から派生し、 メソッド内で、 メソッドを呼び出します。 - - 次の表で、`IsMatch` カスタム アクティビティのプロパティと戻り値について説明します。 - -|プロパティ値または戻り値|説明| -|------------------------------|-----------------| -|Pattern (必須)|検索に使用する正規表現。| -|Input (必須)|検索対象の入力文字列。| -|RegexOptions|ビットごとの OR の組み合わせ[RegexOptions](https://go.microsoft.com/fwlink/?LinkId=150446)列挙値。| -|戻り値|一致する文字列のコレクションが格納された 。| - - 次のコード例は、`Matches` カスタム アクティビティの使用方法を示します。 - -``` -new Matches -{ - Pattern = @"\b(?\w+)\s+(\k)\b", - Input = "The quick brown fox fox jumped over over the lazy dog dog.", -}; -``` - -## Replace - `Replace` カスタム アクティビティは入力文字列を検索し、指定された正規表現と一致するすべての文字列を 1 つの文字列で置き換えます。 このアクティビティは から派生し、 メソッド内で、 メソッドを呼び出します。 - - 次の表で、`Replace` カスタム アクティビティのプロパティと戻り値について説明します。 - -|プロパティ値または戻り値|説明| -|------------------------------|-----------------| -|Pattern (必須)|検索に使用する正規表現。| -|Input (必須)|検索対象の入力文字列。| -|Replacement|置換文字列。

`Replacement` が指定されると、`MatchEvaluator` プロパティは無視されます。 `Replacement` または `MatchEvaluator` のどちらかのプロパティを設定する必要があります。| -|MatchEvaluator|各一致文字列を調べ、元の一致文字列または置換文字列のどちらかを返すカスタム メソッド。

`Replacement` が指定されると、`MatchEvaluator` プロパティは無視されます。 `Replacement` または `MatchEvaluator` のどちらかのプロパティを設定する必要があります。| -|RegexOptions|ビットごとの OR の組み合わせ[RegexOptions](https://go.microsoft.com/fwlink/?LinkId=150446)列挙値。| -|戻り値|一致する文字列のコレクションが格納された 。| - - 次のコード例は、`Replace` カスタム アクティビティの使用方法を示します。 - -``` -// Using the replacement string. -new Replace -{ - Pattern = @"\bWorld\b", - Input = "Hello World! This is a wonderful World", - Replacement = "Universe" -}; - -// Using a match evaluator. -new Replace -{ - Pattern = new InArgument(pattern), - Input = new InArgument(input), - MatchEvaluator = new MatchEvaluator(CapText) -}; -``` - -#### このサンプルを使用するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] を使用して、RegexActivities.sln ソリューション ファイルを開きます。 - -2. ソリューションをビルドするには、Ctrl キーと Shift キーを押しながら B キーを押します。 - -3. ソリューションを実行するには、Ctrl キーを押しながら F5 キーを押します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Scenario\ActivityLibrary\Regex` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/rules-samples.md b/docs/framework/windows-workflow-foundation/samples/rules-samples.md deleted file mode 100644 index 16941e98fdb..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/rules-samples.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: ルールのサンプル -ms.date: 03/30/2017 -ms.assetid: fe156790-3260-4d50-a4a6-e6bc80575af0 -ms.openlocfilehash: ddfbc724547d2ee94f59179cbd1efa1c98d235f9 -ms.sourcegitcommit: 3d5d33f384eeba41b2dff79d096f47ccc8d8f03d -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 05/04/2018 -ms.locfileid: "33516247" ---- -# ルールのサンプル -このセクションには、[!INCLUDE[netfx35_long](../../../../includes/netfx35-long-md.md)] のワークフロー ルール エンジンを使用する方法を示すサンプルが含まれます。 - -## このセクションの内容 - [高度なポリシー](../../../../docs/framework/windows-workflow-foundation/samples/advanced-policy.md) - 単純なポリシーのサンプルを拡張する方法を示します。 単純なポリシーのサンプルに含まれる個人向け割引ルールとビジネス割引ルールの他に、新しいルールがいくつか追加されています。 - - [簡単なポリシー](../../../../docs/framework/windows-workflow-foundation/samples/simple-policy.md) - ワークフローで アクティビティを使用する方法を示します。 - - [ルール付き IfElse](../../../../docs/framework/windows-workflow-foundation/samples/ifelse-with-rules.md) - ルール条件を アクティビティで使用する方法を示します。 - - [条件付きアクティビティ グループ](../../../../docs/framework/windows-workflow-foundation/samples/conditioned-activity-group.md) - 旅行の予約アプリケーションを示します。 - - [ポリシーを使用した注文処理](../../../../docs/framework/windows-workflow-foundation/samples/order-processing-with-policy.md) - 導入された主要な機能の一部を示しています、[!INCLUDE[netfx35_long](../../../../includes/netfx35-long-md.md)]の Windows Workflow Foundation (WF) です。 diff --git a/docs/framework/windows-workflow-foundation/samples/securing-workflow-services.md b/docs/framework/windows-workflow-foundation/samples/securing-workflow-services.md deleted file mode 100644 index ba651bf5da5..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/securing-workflow-services.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -title: ワークフロー サービスのセキュリティ保護 -ms.date: 03/30/2017 -ms.assetid: 53f84ad5-1ed1-4114-8d0d-b12e8a021c6e -ms.openlocfilehash: 28c34ecf7d6d781bfa461b2737cb9325a657f47e -ms.sourcegitcommit: 2eceb05f1a5bb261291a1f6a91c5153727ac1c19 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/04/2018 -ms.locfileid: "43524336" ---- -# ワークフロー サービスのセキュリティ保護 -セキュリティで保護されたワークフロー サービス サンプルでは、次の手順を示します。 - -- アクティビティと アクティビティを使用して基本ワークフロー サービスを作成する。 - -- Windows Communication Foundation (WCF) 構成を使用して、ワークフロー サービスで使用するためのセキュリティで保護されたエンドポイントを定義します。 - -- カスタム ポリシー内にクレームを作成し、 を使用してクレームを検証する。 - -## 使用例 - WCF セキュリティを使用して、クライアントとワークフロー サービス間の通信、クレーム ベースの承認を保護します。 - -## 説明 - このサンプルでは、通常の WCF サービスの場合と同様に、ワークフロー サービスをセキュリティで保護するセキュリティ インフラストラクチャを WCF の使用を示します。 具体的には、承認にカスタム クレームを使用します。 この例では、 とメッセージ モード セキュリティを Windows 資格情報と共に使用します。 - - カスタムの (`CustomNameCheckerPolicy`) は、クライアントの Windows ユーザー名をチェックし、特定の文字がないか確認します。 該当する文字がある場合は、クレームを作成して に追加します。 このようにすることで、カスタム ポリシーは、クライアントのユーザー名にこの文字が含まれていることを示すステートメントを作成します。 このクレームは、呼び出しの有効期間においてクエリできます。 該当の文字は `Constants.cs` で検索できます。 - - 承認ポリシーは、`SecureWorkFlowAuthZManager` 内のクレームを探します。 クレームが見つかると、`true` を返し、ワークフローを続行できるようにします。 クレームが見つからない場合は、`false` を返し、クライアントには "アクセスは拒否されました" メッセージが返されます。 他のクレームもコンテキスト内にあり、`SecureWorkFlowAuthZManager` 内で調べることができます。 - -#### このサンプルを実行するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] を管理者権限で実行します。 - -2. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] に SecuringWorkflowServices.sln を読み込みます。 - -3. Ctrl キーと Shift キーを押しながら B キーを押して、ソリューションをコンパイルします。 - -4. Service プロジェクトをソリューションのスタートアップ プロジェクトに設定します。 - -5. Ctrl キーを押しながら F5 キーを押して、デバッグを行わずにサービスを起動します。 - -6. Client プロジェクトをソリューションのスタートアップ プロジェクトに設定します。 - -7. Ctrl キーを押しながら F5 キーを押して、デバッグを行わずにクライアントを起動します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Scenario\Services\SecuringWorkflowServices` diff --git a/docs/framework/windows-workflow-foundation/samples/sending-and-handling-faults.md b/docs/framework/windows-workflow-foundation/samples/sending-and-handling-faults.md deleted file mode 100644 index 6d2c344dfeb..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/sending-and-handling-faults.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -title: エラーの送信と処理 -ms.date: 03/30/2017 -ms.assetid: 98e8e04d-2ac9-4a33-ae08-462f757a7a14 -ms.openlocfilehash: 896f209e7daeeab2bb33c1fde15298aae96c8776 -ms.sourcegitcommit: a885cc8c3e444ca6471348893d5373c6e9e49a47 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/06/2018 -ms.locfileid: "44037712" ---- -# エラーの送信と処理 -このサンプルでは、 および メッセージング アクティビティを使用して、予期したエラーと予期しないエラーを送受信する方法を示します。 このシナリオでは、最初のクライアント要求で、その コレクションに含まれている予期したエラーが発生します。 次のいくつかのクライアント要求によって、予期しないエラーを受信してから、最後の要求が成功します。 - -## このサンプルを使用するには - -1. 開いている[!INCLUDE[vs2010](../../../../includes/vs2010-md.md)]を右クリックし、管理者特権でのアクセス許可を持つ、[!INCLUDE[vs2010](../../../../includes/vs2010-md.md)]アイコンを**管理者として実行**します。 - -2. Faults.sln ソリューション ファイルを開きます。 - -3. ソリューションをビルドするには、Ctrl キーと Shift キーを押しながら B キーを押します。 - -4. サービス プロジェクトを実行します。 - - 1. **ソリューション エクスプ ローラー**を右クリックし、`FaultService`順に選択して**スタートアップ プロジェクトとして設定**します。 - - 2. Ctrl キーを押しながら、F5 キーを押します。 - -5. 別のコピーを開く[!INCLUDE[vs2010](../../../../includes/vs2010-md.md)]を右クリックし、管理者特権でのアクセス許可を持つ、[!INCLUDE[vs2010](../../../../includes/vs2010-md.md)]アイコンを**管理者として実行**します。 - -6. Faults.sln ソリューション ファイルを開きます。 - -7. クライアント プロジェクトを実行します。 - - 1. **ソリューション エクスプ ローラー**を右クリックし、`FaultClient`順に選択して**スタートアップ プロジェクトとして設定**します。 - - 2. Ctrl キーを押しながら、F5 キーを押します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Services\Faults` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/services.md b/docs/framework/windows-workflow-foundation/samples/services.md deleted file mode 100644 index b8f015f15ca..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/services.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -title: Services1 -ms.date: 03/30/2017 -ms.assetid: 521cdb66-98cb-4ad1-b706-370788a43485 -ms.openlocfilehash: f41017aa3d81727b6bb2f3e1d739c1ce4375a4ed -ms.sourcegitcommit: 3d5d33f384eeba41b2dff79d096f47ccc8d8f03d -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 05/04/2018 -ms.locfileid: "33517700" ---- -# サービス -このセクションには、Windows Workflow Foundation (WF) サービスの機能を示すサンプルへのリンクが含まれています。 - -## このセクションの内容 - [絶対遅延](../../../../docs/framework/windows-workflow-foundation/samples/absolute-delay.md) - 永続的な遅延を使用する方法を示します。これは、遅延の間、ワークフローを永続的なデバイスに永続化する遅延のことです。 - - [永続的な遅延](../../../../docs/framework/windows-workflow-foundation/samples/durable-delay.md) - 永続的な遅延を使用する方法を示します。これは、遅延の間、ワークフローを永続的なデバイスに永続化する遅延のことです。 - - [エラーの送信と処理](../../../../docs/framework/windows-workflow-foundation/samples/sending-and-handling-faults.md) - および メッセージング アクティビティを使用して、予期したエラーと予期しないエラーを送受信する方法を示します。 - - [SendParameters および ReceiveParameters アクティビティの基本的な使用方法](../../../../docs/framework/windows-workflow-foundation/samples/basic-usage-of-sendparameters-and-receiveparameters-activities.md) - 使用例を示します`System.ServiceModel.Activities.SendParameters`と`System.ServiceModel.Activities.ReceiveParameters`アクティビティ。 - - [基本的な XAML 専用サービス](../../../../docs/framework/windows-workflow-foundation/samples/basic-xaml-only-service.md) - XAML 専用サービスを作成する方法を示します。 - - [ワークフロー サービスでのメッセージの書式設定](../../../../docs/framework/windows-workflow-foundation/samples/formatting-messages-in-workflow-services.md) - メッセージング アクティビティ (WF サービス) で使用できるユーザーの種類を示します。 サンプルのサービスは、簡単な費用承認サービスで、3 つの操作を公開します。 - - [永続的な二重](../../../../docs/framework/windows-workflow-foundation/samples/durable-duplex.md) - 設定して、Windows Workflow Foundation (WF)、メッセージング アクティビティを使用して永続的な双方向メッセージ交換を構成する方法を示します。 - - [コンテンツ ベースの相関関係](../../../../docs/framework/windows-workflow-foundation/samples/content-based-correlation.md) - メッセージング アクティビティ (、および ) を 1 つまたは複数のコンテンツ ベースの相関関係で使用する方法を示します。 - - [Send によるチャネル キャッシュ](../../../../docs/framework/windows-workflow-foundation/samples/channel-caching-with-send.md) - の使用方法を示します。 - - [XAMLX における永続的な遅延](../../../../docs/framework/windows-workflow-foundation/samples/durable-delay-in-xamlx.md) - 永続的な遅延を使用する方法を示します。これは、遅延の間、ワークフローを永続的なデバイスに永続化する遅延のことです。 - - [バッファーされた受信機能](../../../../docs/framework/windows-workflow-foundation/samples/buffered-receive.md) - 設定し、Windows Workflow Foundation (WF) でバッファーされた受信機能を構成する方法を示します。 - - [XAML アクティベーション](../../../../docs/framework/windows-workflow-foundation/samples/xaml-activation.md) - 宣言型ワークフローを [!INCLUDE[iisver](../../../../includes/iisver-md.md)] でホストする方法を示します。 - -## 関連項目 - [ワークフロー サービス](../../../../docs/framework/wcf/feature-details/workflow-services.md) diff --git a/docs/framework/windows-workflow-foundation/samples/simple-policy.md b/docs/framework/windows-workflow-foundation/samples/simple-policy.md deleted file mode 100644 index 16bbd21c4e0..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/simple-policy.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: 簡単なポリシー -ms.date: 03/30/2017 -ms.assetid: 6a94c834-2e32-4bed-9f47-ae5845eef6ff -ms.openlocfilehash: 7f189e4d1811cb0b7dd9138b944bfd0552481690 -ms.sourcegitcommit: 3c1c3ba79895335ff3737934e39372555ca7d6d0 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/05/2018 -ms.locfileid: "43743747" ---- -# 簡単なポリシー -このサンプルでは、ワークフロー内で アクティビティを使用する方法を示します。 - - このサンプルのシーケンシャル ワークフローは、 アクティビティを使用して作成します。 ワークフローは、製品割引ワークフローを定義するために使用するフィールド `orderValue`、`customerType`、および `discount` を定義します。 ルール ファイルに定義済みのルールは、`orderValue` と `customerType` に基づいて、割引金額を設定します。 `orderValue` と `customerType` が `SimplePolicyWorkflow` クラス定義で設定されています。これを変更すると、動作を変更できます。 結果として得られた割引率は、 クラスに定義されているイベント ハンドラ `SimplePolicyWorkflow` でコンソールに出力されます。 - -### サンプルをビルドするには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] で、ソリューションを開きます。 - -2. Ctrl キーと Shift キーを押しながら B キーを押して、ソリューションをビルドします。 - -3. Ctrl キーを押しながら F5 キーを押して、ソリューションをデバッグなしで実行します。 - -### サンプルを実行するには - -- [SDK コマンド プロンプト] ウィンドウで、SimplePolicy\bin\debug フォルダー (Visual Basic バージョンのサンプルの場合は SimplePolicy\bin フォルダー) にある .exe ファイルを実行します。このフォルダーは、サンプルのメイン フォルダーの下に作成されます。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Rules\Policy\SimplePolicy` - -## 関連項目 - - - [高度なポリシー](../../../../docs/framework/windows-workflow-foundation/samples/advanced-policy.md) diff --git a/docs/framework/windows-workflow-foundation/samples/sqlstoreextensibility.md b/docs/framework/windows-workflow-foundation/samples/sqlstoreextensibility.md deleted file mode 100644 index 3fe0d93dd48..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/sqlstoreextensibility.md +++ /dev/null @@ -1,83 +0,0 @@ ---- -title: SQLStoreExtensibility -ms.date: 03/30/2017 -ms.assetid: 5da1b5a3-f144-41ba-b9c4-02818b28b15d -ms.openlocfilehash: f49d05244cf9f65a8e06f39c7e40391aaebd9f77 -ms.sourcegitcommit: fb78d8abbdb87144a3872cf154930157090dd933 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/26/2018 -ms.locfileid: "47231521" ---- -# SQLStoreExtensibility -このサンプルでは、SQL ワークフロー インスタンス ストアの昇格したプロパティの使用法と構成を示します。 SQL Workflow Instance Store は、SQL ベースのインスタンス ストアの実装です。 SQL Workflow Instance Store を使用すると、インスタンスの状態を SQL Server データベースや SQL Server Express データベースに保存したり読み込んだりすることができます。 ストア拡張機能を使用すると、ユーザーは、インスタンス ストアに格納されるプロパティを定義できます。 このようなプロパティは、ユーザーがクエリを実行できる昇格したプロパティ ビューに表示されます。 - - このサンプルは、カウント サービスを実装するワークフローで構成されています。 サービスの start メソッドが呼び出されると、0 から 29 までのカウントが行われます。 カウンターは 2 秒ごとにインクリメントされ、 カウントのたびにワークフローが永続化されます。 現在のカウンター値は、昇格したプロパティとしてインスタンス ストアに格納されます。 - - このカウント ワークフローは、ワークフロー サービス ホストによってホストされる自己ホスト型サービスです。 プログラムの `Main` メソッドは、次のアクションを実行します。 - -- カウント ワークフローをホストするワークフロー サービス ホストのインスタンスを作成し、カウント ワークフローにアクセスできるエンドポイントを定義します。 - -- SQL Workflow Instance Store を構成するために使用される SQL Workflow Instance Store の動作を定義します。 このストアは、`CountStatus` を昇格したプロパティとして扱うように指示されます。 - -- カウント ワークフローの start メソッドを呼び出すクライアントを作成します。 - - プログラムを開始すると、カウンターが自動的にカウントを開始します。 インスタンスを読み込んで SQL Workflow Instance Store を構成するのに数秒かかる場合もあります。 - - カウンター値をカスタム プロパティとして昇格するには、次の手順を実行する必要があります。 - -1. クラス `CounterStatus` は、 型のインスタンス拡張機能を定義し、これはアクティビティが状態変数を提供するために使用されます。 `Count` は書き込み専用値として定義されます。 ワークフロー インスタンスが永続性ポイントに達すると、インスタンス拡張機能によって、`Count` プロパティが永続性データ コレクションに保存されます。 - -2. インスタンス ストアの作成時に、新しいプロパティ `CountStatus` が `store.Promote()` を使用して定義されます。 - -3. ワークフローの `SaveCounter` アクティビティによって、現在のカウンター値が `Count` 状態フィールドに代入されます。 - -### このサンプルを使用するには - -1. インスタンス ストア データベースを作成します。 - - 1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] のコマンド プロンプトを開きます。 - - 2. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] コマンド プロンプトでサンプル ディレクトリ (\WF\Basic\Persistence\SqlStoreExtensibility\CS) に移動して、CreateInstanceStore.cmd を実行します。 - - > [!WARNING] - > CreateInstanceStore.cmd スクリプトは、SQL Server 2008 Express の既定のインスタンスにデータベースを作成しようとします。 別のインスタンスにデータベースをインストールする場合は、そのようにスクリプトを変更してください。 - -2. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] を開いて SqlStoreExtensibility.sln ソリューションを読み込み、Ctrl キーと Shift キーを押しながら B キーを押してビルドします。 - - > [!WARNING] - > SQL Server の既定以外のインスタンスにデータベースをインストールした場合は、ソリューションをビルドする前に、コードの接続文字列を更新してください。 - -3. プロジェクトの bin ディレクトリ (\WF\Basic\Persistence\SqlStoreExtensibility\bin\Debug) に移動して、サンプルを管理者特権で実行[!INCLUDE[fileExplorer](../../../../includes/fileexplorer-md.md)]SqlStoreExtensibility.exe を右クリックし、選択、**として実行管理者**します。 - -### サンプルが正常に動作していることを確認するには - -1. SQL Server Management Studio を使用して、選択してインスタンス テーブルの内容を表示する**データベース**、 **InstanceStore**、し**System.ServiceModel.Activities.DurableInstancing.InstanceTable**オブジェクト エクスプ ローラーで右クリックして**System.ServiceModel.Activities.DurableInstancing.InstanceTable** を選択します。**上位 1000 行を選択します。** します。 SQL Server Management Studio の詳細については、次を参照してください[SQL Server Management Studio の概要。](https://go.microsoft.com/fwlink/?LinkId=165645) - -2. 一覧表示されるワークフロー インスタンスを確認します。 - -3. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] コマンド プロンプトで、サンプル ディレクトリ (\WF\Basic\Persistence\SqlStoreExtensibility) にある QueryInstanceStore.cmd スクリプトを実行します。 - -4. 下に表示されるカウンターの値を観察**CountStatus**します。 - -5. 何回かスクリプトを実行して、 **CountStats**値の変更。 - -6. Enter キーを押してワークフロー アプリケーションを終了します。 - -### サンプルをアンインストールするには - -1. サンプル ディレクトリ (\WF\Basic\Persistence\SqlStoreExtensibility) にある RemoveInstanceStore.cmd スクリプトを実行して、インスタンス ストア データベースを削除します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Persistence\SQLStoreExtensibility` - -## 関連項目 - [ワークフローの永続性](../../../../docs/framework/windows-workflow-foundation/workflow-persistence.md) - [ワークフロー サービス](../../../../docs/framework/wcf/feature-details/workflow-services.md) - [AppFabric のホストおよび永続化のサンプル](https://go.microsoft.com/fwlink/?LinkId=193961) diff --git a/docs/framework/windows-workflow-foundation/samples/statemachine-scenario-using-a-combination-of-flowchart-and-pick.md b/docs/framework/windows-workflow-foundation/samples/statemachine-scenario-using-a-combination-of-flowchart-and-pick.md deleted file mode 100644 index 491e33c5551..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/statemachine-scenario-using-a-combination-of-flowchart-and-pick.md +++ /dev/null @@ -1,59 +0,0 @@ ---- -title: FlowChart と Pick の組み合わせを使用する StateMachine シナリオ -ms.date: 03/30/2017 -ms.assetid: 88d81395-f7a3-41d8-8439-20a425c538a6 -ms.openlocfilehash: b0f8e884a8a6c62c4e7edaf5cc9727bf7bfe8603 -ms.sourcegitcommit: c7f3e2e9d6ead6cc3acd0d66b10a251d0c66e59d -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/08/2018 -ms.locfileid: "44195687" ---- -# FlowChart と Pick の組み合わせを使用する StateMachine シナリオ -このサンプルでは、 アクティビティと アクティビティを組み合わせて簡単なストップウォッチ シナリオを実装する方法を示します。 このサンプルでは、Pick アクティビティ内で Receive と Send を使用して、ストップウォッチ イベントをリッスンします。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合は、(ダウンロード ページ) に移動してすべての Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Scenario\StateMachineWithPick` - -## サンプルの詳細 - 次の表に、このサンプルのプロジェクトを示します。 - -|プロジェクト名|説明| -|-|-| -|StopWatchService|このプロジェクトには、 アクティビティと アクティビティを組み合わせて使用するストップウォッチ サンプルのステート マシンの実装が含まれます。

アクティビティには、、および `GetStart` の各イベントをリッスンする 3 つの `GetStop` ステートメントが `GetOff` プロパティ内にあります。 受信イベントに基づいて、分岐のいずれかのトリガーがアクティブになり、対応する が起動されます。 プロパティには、遷移が正当な遷移であるかどうかを評価する ステートメントがあります。正当な遷移の場合、`currentState` プロパティが遷移中の状態に更新され、クライアントに送信されます。

の最後にある アクティビティは、`currentState` プロパティを評価して、終了状態であるかどうかを確認します。 終了状態の場合、ワークフローは終了します。それ以外の場合は、 アクティビティの先頭に戻ります。このアクティビティでは、ワークフローは他のストップウォッチ イベントを待機します。| -|StopWatchClient|このプロジェクトは、簡単な Send アクティビティまたは Receive アクティビティを組み合わせてさまざまなストップウォッチ イベントを送信する簡単なシーケンシャル ワークフロー コンソール アプリケーションです。| - -#### このサンプルを使用するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] を使用して、StateMachineWithPick.sln ソリューション ファイルを開きます。 - -2. ソリューションをビルドするには、Ctrl キーと Shift キーを押しながら B キーを押します。 - -3. StopWatchService.exe をスタート[!INCLUDE[fileExplorer](../../../../includes/fileexplorer-md.md)].exe ファイルを右クリックしを選択すると、管理者として**管理者として実行**します。 - - 1. StateMachineWithPick\CS\StopWatchService\bin\Debug フォルダーに移動します。 - - 2. StopWatchService.exe ファイルを右クリックして**管理者として実行**します。 - -4. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] 内から StopWatchClient クライアント アプリケーションを開始します。 - - 1. **ソリューション エクスプ ローラー**を選択、 **StopWatchClient**プロジェクトし、右クリックして**スタートアップ プロジェクトとして設定**します。 - - 2. ソリューションを実行するには、Ctrl キーを押しながら F5 キーを押します。 - -5. 状態遷移を確認するには、StopWatchService.exe のコンソール ウィンドウに切り替えます。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Scenario\StateMachineWithPick` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/suppress-transaction-scope.md b/docs/framework/windows-workflow-foundation/samples/suppress-transaction-scope.md deleted file mode 100644 index 90c2999c662..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/suppress-transaction-scope.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -title: トランザクション スコープの抑制 -ms.date: 03/30/2017 -ms.assetid: 49fb6dd4-30d4-4067-925c-c5de44c8c740 -ms.openlocfilehash: 44814d66a4de4b3e72bb33eb46019eb1088ab040 -ms.sourcegitcommit: 3c1c3ba79895335ff3737934e39372555ca7d6d0 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/05/2018 -ms.locfileid: "43788040" ---- -# トランザクション スコープの抑制 -このサンプルでは、アンビエント ランタイム トランザクションが存在する場合はそのトランザクションを抑制するカスタム `SuppressTransactionScope` アクティビティを作成する方法を示します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Scenario\Transactions\SuppressTransactionScope` - -## サンプルの詳細 - このカスタム アクティビティを使用すると、トランザクション フローが特定のシナリオに適さない場合に、別のサービスにトランザクションがフローされないようにすることができます。 ワークフロー ランタイムには クラスのアンビエント トランザクションを抑制するためのサポートが組み込まれていますが、そのサポートを使用するには、このサンプルで示すようなカスタム アクティビティを作成する必要があります。 - - このシナリオは、3 つの部分で構成されています。 まず、 によって、アンビエントになるランタイム トランザクションが作成されます。 これは、トランザクションのローカル識別子と分散識別子を出力するカスタム アクティビティによって検証されます。 その後、トランザクションがリモート サービスにフローされてから、2 番目の部分が始まります。 2 番目の部分では、ワークフローが `SuppressTransactionScope` に移り、トランザクション識別子を出力してトランザクションをフローさせるプロセスがもう一度繰り返されます。 ただし、カスタム アクティビティでアンビエント トランザクションを探さないため、サービスにフローされるメッセージにはトランザクションが含まれません。 その結果、サービスによってトランザクションが作成され、クライアントとサービスで出力される分散 ID が一致しなくなります。 最後の部分は、`SuppressTransactionScope` が終了した後の部分です。分散識別子が最初のメッセージの識別子と一致する別のメッセージがサービスにフローされ、そのメッセージによる検証でランタイム トランザクションがもう一度アンビエントになります。 - - アクティビティ自体は、子アクティビティをスケジュールして実行プロパティを追加する必要があるため、 から派生します。 `SuppressTransactionScope` には、 型の が含まれます。ハンドルを初期化する必要があるため、 型のインスタンス フィールドではなく、この変数を使用する必要があります。 `Variable` は内部でのみ使用されるため、実装変数としてアクティビティのメタデータに追加されます。 - - アクティビティを実行すると、まず本体が指定されているかどうかがチェックされ、指定されていれば `SuppressTransaction` に プロパティが設定されます。 このプロパティは、設定されると実行プロパティに追加され、アンビエントになります。 つまり、`SuppressTransactionScope` のすべての子アクティビティがこのプロパティを参照できるようになります。これにより、ランタイム トランザクションの抑制が適用され、入れ子になった で例外がスローされます。 実行プロパティにハンドルが追加されると、本体の実行がスケジュールされます。 - -#### このサンプルを使用するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] で SuppressTransactionScope.sln ソリューションを開きます。 - -2. ソリューションをビルドするには、CTRL + SHIFT + B キーを押しますまたは選択**ソリューションのビルド**から、**ビルド**メニュー。 - -3. ビルドが完了すると、ソリューションを右クリックしを選択**スタートアップ プロジェクトの設定**します。 ダイアログ ボックスで、次のように選択します。**マルチ スタートアップ プロジェクト**させ、両方のプロジェクトのアクションが**開始**します。 - -4. F5 キーを押すか、選択**デバッグの開始**から、**デバッグ**メニュー。 または、ctrl キーを押しながら f5 キーを押してまたは選択**デバッグなしで開始**から、**デバッグ**] メニューの [デバッグなしで実行します。 - - > [!NOTE] - > クライアントを起動する前に、サーバーを起動しておく必要があります。 サービスをホストするコンソール ウィンドウの出力で、起動された時間が示されます。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Scenario\Transactions\SuppressTransactionScope` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/toolbox-service.md b/docs/framework/windows-workflow-foundation/samples/toolbox-service.md deleted file mode 100644 index 3a7cbbc2734..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/toolbox-service.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -title: ツールボックス サービス -ms.date: 03/30/2017 -ms.assetid: 742212d0-445e-41ed-9739-9ee848ce7f1b -ms.openlocfilehash: 0b21f10c763f3f82591f947eb4cc48cf90f4ac79 -ms.sourcegitcommit: efff8f331fd9467f093f8ab8d23a203d6ecb5b60 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/01/2018 -ms.locfileid: "43406463" ---- -# ツールボックス サービス -このサンプルでは、ワークフローのコンテキストに基づいて [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] ツールボックス アクティビティを更新する方法を示します。 このサンプルには、カスタム アクティビティが選択されているかどうかに基づいてツールボックスの内容を変更するワークフローが含まれています。 - -## 説明 - ワークフローの作成中には、通常、状況に応じてツールボックスが変化することが求められます。 たとえば、特定のアクティビティをワークフローに追加すると、別のアクティビティがいくつかツールボックスに表示されるようにすることが必要な場合があります。 アクティビティをワークフローから削除したときは、ドメインの要件に基づいてツールボックスが適切に応答する必要があります。 - - ホストを変更したワークフロー デザイナーでは、ツールボックス コントロールを制御し、ワークフローのモデル変更に基づいて、ホストによってツールボックス コントロールで適切な変更がトリガーされるようにすることができます。 ただし、[!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] では、ツールボックスをユーザーが制御することはないので、その内容を変更するにはインターフェイスが必要です。 `IActivityToolboxService` がそのインターフェイスに当たります。 - - この API には、次の 4 つのメソッドが用意されています。 - -``` -public interface IActivityToolboxService -{ - void AddCategory(string categoryName); - void RemoveCategory(string categoryName); - void AddItem(string qualifiedTypeName, string categoryName); - void RemoveItem(string qualifiedTypeName, string categoryName); - IList EnumCategories(); - IList EnumItems(string categoryName); -} -``` - -#### サンプルをセットアップ、ビルド、および実行するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] を使用して、WorkflowSimulator.sln ソリューション ファイルを開きます。 - -2. Ctrl キーと Shift キーを押しながら B キーを押して、ソリューションをビルドします。 - -3. Workflow.xaml ファイルを開きます。 - -4. 追加、 **CustomActivity**ドラッグして、ツールボックスから削除します。 ツールボックス カテゴリが追加で呼び出すことに注意してください: **New WF Category**するその他のアクティビティを含む**割り当てる**します。 - -5. 選択を解除、 **CustomActivity**別のアクティビティをドラッグします。 - -6. 項目**割り当てる**カテゴリ**New WF Category**ツールボックスの下で削除したようになりました。 また、このカテゴリには項目がほかにないので、カテゴリも削除されます。 - -7. 選択、 **CustomActivity**もう一度と、カテゴリと**割り当てる**アクティビティが再度追加されます。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Designer\IActivityToolboxService` diff --git a/docs/framework/windows-workflow-foundation/samples/tracking-using-a-text-file.md b/docs/framework/windows-workflow-foundation/samples/tracking-using-a-text-file.md deleted file mode 100644 index b86ad52bec2..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/tracking-using-a-text-file.md +++ /dev/null @@ -1,95 +0,0 @@ ---- -title: テキスト ファイルを使用した追跡 -ms.date: 03/30/2017 -ms.assetid: 56a82682-73c2-4b91-a206-4d8bb12c561b -ms.openlocfilehash: 19b4d544bc1d1c5bc9ebfa51b4ba28eb82c525d0 -ms.sourcegitcommit: 5bbfe34a9a14e4ccb22367e57b57585c208cf757 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/18/2018 -ms.locfileid: "45969393" ---- -# テキスト ファイルを使用した追跡 -このサンプルでは、カスタム追跡参加要素を作成して、Windows Workflow Foundation (WF) の追跡を拡張する方法を示します。 追跡参加要素は、出力された追跡レコードをランタイムから受け取る .NET Framework クラスです。 追跡参加要素を作成して、シナリオに必要な出力先に追跡イベントを転送することができます。 たとえば、ETW (Event Tracing for Windows) 追跡参加要素は、[!INCLUDE[dnprdnshort](../../../../includes/dnprdnshort-md.md)] の一部として提供されています。 このサンプルの追跡参加要素は、レコードを XML 形式でテキスト ファイルに書き込みます。 - -## サンプルの詳細 - 追跡参加要素の有用性と信頼性を最適化するには、いくつかの追加手順を完了して追跡参加要素をランタイムに適切に接続する必要があります。 ベスト プラクティスに準拠する追跡参加要素を作成するためにこのサンプルで使用するクラスを次の表に示します。 - -|クラス|説明| -|-----------|-----------------| -|`TextFileTrackingExtensionElement`| を使用して、テキスト ファイルの追跡参加要素の構成に使用される構成セクションを定義します。 これにより、ユーザーは、標準の .NET Framework 構成ファイルを使用してログ ファイルの出力先を指定できます。| -|`TextFileTrackingBehavior`|WCF 動作拡張機能をランタイムに挿入できるようにします。 この動作によって、サービスの開始時に追跡参加要素がサービスに追加されます。| -|`TextFileTrackingParticipant`|実行時に追跡参加要素を受け取って XML としてログ ファイルに格納する追跡参加要素。| - -## 動作拡張要素の構成 - .NET Framework 構成ファイルを使用して前に記述した動作拡張要素を利用するには、もう 1 つの手順が必要です。 拡張機能を使用する構成ファイルに次の構成を挿入する必要があります。 - -```xml - - - - - - -… - -``` - -> [!NOTE] -> 動作拡張要素の構成の詳細な使用例については、サンプルの Web.config ファイルを参照してください。 - -## カスタム追跡レコード - GetStockPrices.cs ファイルでは、 内からカスタム追跡レコードを作成する方法を示します。 サンプルの実行時にこのレコードを調べてください。 - -#### このサンプルを使用するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] を使用して、WFStockPriceApplication.sln ソリューション ファイルを開きます。 - -2. ソリューションをビルドするには、Ctrl キーと Shift キーを押しながら B キーを押します。 - -3. ソリューションを実行するには、Ctrl キーを押しながら F5 キーを押します。 - - ブラウザー ウィンドウが開き、アプリケーションのディレクトリの一覧が示されます。 - -4. ブラウザーで、StockPriceService.xamlx をクリックします。 - -5. ブラウザーが表示されます、 **StockPriceService**ページで、ローカル サービスの wsdl アドレスが含まれています。 このアドレスをコピーします。 - - ローカル サービスの wsdl アドレスの例は http://localhost:53797/StockPriceService.xamlx?wsdlします。 - -6. [!INCLUDE[fileExplorer](../../../../includes/fileexplorer-md.md)] を使用して、[!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] フォルダー (既定のインストール フォルダーは %SystemDrive%\Program Files\Microsoft Visual Studio 10.0) に移動します。 Common7\IDE\ サブフォルダーを見つけます。 - -7. WcfTestClient.exe ファイルをダブルクリックして、WCF テスト クライアントを起動します。 - -8. WCF テスト クライアントで、次のように選択します**サービスを追加しています...** **ファイル**メニュー。 - -9. コピーした URL をテキスト ボックスに貼り付けます。 - -10. クリックして**OK**ダイアログ ボックスを閉じます。 - -11. WCF テスト クライアントを使用してサービスをテストします。 - - 1. WCF テスト クライアントでのダブルクリック**GetStockPrice()** 下、 **IStockPriceService**ノード。 - - **GetStockPrice()** メソッドは、1 つのパラメーターと共に右ペインに表示されます。 - - 2. パラメーターの値として「Contoso」と入力します。 - - 3. クリックして**呼び出す**します。 - -12. アプリケーション データ ディレクトリにあるログ ファイル (%APPDATA%\trackingRecords.log) で追跡イベントを確認します。 - - > [!NOTE] - > %Appdata% は %SystemDrive%\Users に解決される環境変数\\< ユーザー名\>で \AppData\Roaming [!INCLUDE[wv](../../../../includes/wv-md.md)]、 [!INCLUDE[lserver](../../../../includes/lserver-md.md)]、または Windows Server 2008。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Tracking\TextFileTracking` - -## 関連項目 - [AppFabric の監視のサンプル](https://go.microsoft.com/fwlink/?LinkId=193959) diff --git a/docs/framework/windows-workflow-foundation/samples/transacted-queues.md b/docs/framework/windows-workflow-foundation/samples/transacted-queues.md deleted file mode 100644 index 66f3dbc64c7..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/transacted-queues.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -title: トランザクション キュー -ms.date: 03/30/2017 -ms.assetid: b1b011dd-5e0b-482c-9bb0-9d8727038f14 -ms.openlocfilehash: db6a9686334eefb02b9360827a23ca8363127eb5 -ms.sourcegitcommit: c7f3e2e9d6ead6cc3acd0d66b10a251d0c66e59d -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/09/2018 -ms.locfileid: "44253196" ---- -# トランザクション キュー -このサンプルでは、キューおよびトランザクションの Windows Workflow Foundation (WF) 信頼性が高く、スケーラブルなサービスを作成するを統合する方法を示します。 A `System.Activities.TransactionScope`クライアント ワークフローでトランザクションを使用して、キューにメッセージを送信するために使用、します。 は、キューからメッセージを受信して同じトランザクション内でワークフローの状態を更新するためにサーバーで使用されます。 - -## 使用例 - 、およびコンテンツ ベースの相関関係。 - -## 説明 - このサンプルで取り上げる機能について説明するために、特定のアカウント用に取得されて使用されるポイントを追跡する `RewardsPoints` ワークフロー サービスが作成されます。 クライアントは、 を使用してキューへのさまざまな要求の送信をシミュレートします。 トランザクション内でキューにメッセージを送信するために、 アクティビティを 内に配置できます。 このサンプルでは、キューに置かれたメッセージがクライアント アプリケーションとサーバー アプリケーションを切り離す方法について説明するために、最初にクライアントが実行され、次にサーバーが実行されます。 - - クライアントが完了したら、サービスが構成されてホストされます。 サービスが開くとすぐに、既にキューに置かれているメッセージの処理が開始されます。 各メッセージが同じサーバー トランザクション内で受信および処理されます。 このサンプルでは、最初に受信するメッセージは、要求メッセージの一部として渡されるアカウント名に基づいてインスタンスを作成してコンテンツ ベースの相関関係を初期化する `CreateAccount` 要求です。 実際に必要となる可能性のある種類のサービスをモデル化するために、 メッセージと `AddPoints` メッセージを処理する次の 2 つの `UsePoints` アクティビティが `while` ループ内の並行分岐に配置されており、これらのメッセージを任意の順序で繰り返し処理できるようになっています。 - - および は、それぞれスコープの末尾に暗黙的な永続化ポイントを持つので、これらのアクティビティをキューと組み合わせて [!INCLUDE[wf1](../../../../includes/wf1-md.md)] で使用すると、メッセージが失われないようにしながら、ワークフローを一貫性のある状態から次の一貫性のある状態に確実に移行できます。 - -#### サンプルをセットアップ、ビルド、および実行するには - -1. MSMQ をインストールして構成します。 参照してください[メッセージ キューをインストールする](https://go.microsoft.com/fwlink/?LinkId=178526)詳細についてはします。 - -2. コマンド ラインで次のコマンドを実行して、MSDTC が実行されていることを確認します。 `net start msdtc` - -3. プロジェクトをコンパイルして実行可能ファイルを開くか、[!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] でプロジェクトを開いてデバッグ メニューから開始オプションを選択します。 最初にキューが作成され、次にクライアントが実行されてキューにメッセージが送信され、最後にサービスが開始されてメッセージが処理されます。 プログラムを終了するには、Enter キーを押します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Scenario\Transactions\TransactedQueues` diff --git a/docs/framework/windows-workflow-foundation/samples/transaction-convoy-scope.md b/docs/framework/windows-workflow-foundation/samples/transaction-convoy-scope.md deleted file mode 100644 index 6966eaf1c16..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/transaction-convoy-scope.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: トランザクション コンボイ スコープ -ms.date: 03/30/2017 -ms.assetid: 37141708-a29f-4b6a-81fe-f8a11f825061 -ms.openlocfilehash: fa1da6df5ad5256665610c9b3c2df7d706cef63c -ms.sourcegitcommit: 5bbfe34a9a14e4ccb22367e57b57585c208cf757 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/18/2018 -ms.locfileid: "46000428" ---- -# トランザクション コンボイ スコープ -このサンプルでは、パラレルなコンボイ メッセージング アクティビティ パターンを と組み合わせて作成し、多数の操作をすべて同じトランザクションで任意の順序で行うことができるプロトコルをモデル化する方法を示します。 また、トランザクションがサーバーにフローされないためにクライアントで使用できるトランザクションがない場合に、 で自動的に新しいトランザクションを作成する方法も示します。 - - このサンプルは、クライアントとサーバーを表す 2 つのワークフロー プロジェクトで構成されます。 クライアント プロジェクトでは、最初にメッセージを送信してサーバー ワークフローをブートストラップするワークフローを実行します。このワークフローで、相関関係が初期化され、残りのメッセージング アクティビティのトランザクション スコープが開始されます。 クライアントの アクティビティには、 の最初のペアと、3 つの分岐がある アクティビティが含まれます。 各分岐で、一方向のメッセージがサーバーに送信されます。 アクティビティの プロパティは、3 つすべての分岐を完了するように `false` に設定されています。 - - サーバー ワークフローはクライアント ワークフローに似ていますが、メッセージング アクティビティが通信のサーバー側のものになり、すべての作業が同じトランザクションで実行されるように アクティビティ内に格納されています。 サーバーで最初のメッセージを受信すると、トランザクションが作成されます。トランザクションはこのスコープのアンビエント トランザクションになり、 本体のスコープ内のあらゆるアクティビティがこのトランザクションにアクセスできます。 その後、すべての受信が並行して実行されます。 並行アクティビティの完了条件の定義に従って、すべての受信が 1 回だけ実行される必要があります。 暗黙的な永続化ポイントが 本体の末尾にあり、永続化操作も同じトランザクションで実行されます。 - -#### このサンプルを使用するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] を使用して、ParallelConvoySample.sln ソリューション ファイルを開きます。 - -2. ソリューションをビルドするには、Ctrl キーと Shift キーを押しながら B キーを押します。 - -3. どちらのプロジェクトも開始されるように設定されていることを確認します。 - - 1. **ソリューション エクスプ ローラー**ソリューションを右クリックし、選択、**スタートアップ プロジェクトの設定**します。 - - 2. 選択**マルチ スタートアップ プロジェクト**に両方のプロジェクトのアクションが設定されていることを確認および**開始**。 - -4. ソリューションを実行するには、Ctrl キーを押しながら F5 キーを押します。 - - サーバーで "`Server is running`" と出力され、サーバーの準備ができたことが示されます。 - - クライアント コンソール ウィンドウで任意のキーを押してサンプルを開始します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Scenario\Transactions\TransactedConvoyScope` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/transaction-rollback.md b/docs/framework/windows-workflow-foundation/samples/transaction-rollback.md deleted file mode 100644 index d4463456ca9..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/transaction-rollback.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -title: トランザクションのロールバック -ms.date: 03/30/2017 -ms.assetid: 7f377147-7529-4689-a588-608cee87fdf8 -ms.openlocfilehash: 8134623248b072ec5a095ab9b10840e94a09243c -ms.sourcegitcommit: 2eceb05f1a5bb261291a1f6a91c5153727ac1c19 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/04/2018 -ms.locfileid: "43528978" ---- -# トランザクションのロールバック -このサンプルでは、アンビエント にアクセスしてアンビエント トランザクションを取得し、そのトランザクションを明示的にロールバックするカスタム を作成する方法を示します。 - -## サンプルの詳細 - ワークフローでは、最も外側の または が完了すると、トランザクションは自動的に完了します。 未処理の例外がスコープの境界を越えて伝達されると、トランザクションは暗黙的にロールバックします。 ただし、例外をスローせずにトランザクションを明示的にロールバックすることが有効な場合もあります。 この場合、このサンプルのアクティビティのようなカスタム ロールバック アクティビティを使用して、アンビエント トランザクションを明示的に中止し、必要に応じて例外の理由を提供することができます。 - - `RollbackActivity` は、アンビエント を取得するために実行プロパティにアクセスする必要があるので、 になります。 `Execute` メソッドでは、 を取得し、アンビエント ランタイム トランザクションなしでアクティビティが使用されたことを示す `null` であるかどうかを確認します。 次にトランザクションを取得し、`null` が存在するかどうかを再度確認します。 ランタイム トランザクションを初期化せずにアンビエント を取得することができます。 最後に、 を呼び出し、ユーザー指定の例外、またはアクティビティによってトランザクションがロールバックされたことを示す汎用的な例外を指定して、トランザクションを中止します。 - - このサンプルのワークフローは、 の実行の前後にトランザクションの状態を印刷する本体を持つ `RollbackActivity` で構成されます。 トランザクションがロールバックされた場合でも、 は完了まで実行され、本体が完了するまでワークフローは中止されないことに注意してください。 ワークフローが中止されるのは、 プロパティが既定で `true` に設定されるためです。 - -#### このサンプルを使用するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] に TransactionRollback.sln ソリューションを読み込みます。 - -2. Ctrl キーと Shift キーを押しながら B キーを押して、ソリューションをビルドします。 - -3. Ctrl キーを押しながら F5 キーを押してアプリケーションを実行します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Scenario\Transactions\TransactionRollback` - -## 関連項目 - [トランザクション](../../../../docs/framework/windows-workflow-foundation/workflow-transactions.md) diff --git a/docs/framework/windows-workflow-foundation/samples/transactions.md b/docs/framework/windows-workflow-foundation/samples/transactions.md deleted file mode 100644 index bbec31a324f..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/transactions.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: Transactions2 -ms.date: 03/30/2017 -ms.assetid: 51212219-a39e-448e-bff3-10064ff5de64 -ms.openlocfilehash: 361022851d971c0b9350899e1fee6a27c557d666 -ms.sourcegitcommit: 3d5d33f384eeba41b2dff79d096f47ccc8d8f03d -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 05/04/2018 -ms.locfileid: "33514596" ---- -# トランザクション -このセクションには、ワークフロー トランザクションには、Windows Workflow Foundation (WF) を示すサンプルが含まれています。 - -## このセクションの内容 - [基本 TransactionScope](../../../../docs/framework/windows-workflow-foundation/samples/basic-transactionscope.md) - インスタンスを入れ子にする方法を示す 4 つのシナリオで構成されます。 - - [TransactedReceiveScope の使用](../../../../docs/framework/windows-workflow-foundation/samples/use-of-transactedreceivescope.md) - クライアントからサーバーにトランザクションをフローする方法を示します。このために、 を使用してクライアント上に新しいトランザクションを作成し、 を使用してフローされたトランザクションを含むメッセージを受信し、サーバー上でトランザクションの有効期間のスコープを設定します。 - - [サービス内での TransactionScope の入れ子化](../../../../docs/framework/windows-workflow-foundation/samples/nesting-of-transactionscope-within-a-service.md) - サービス内で アクティビティ インスタンスを処理する方法を示す 2 つのシナリオで構成されます。 diff --git a/docs/framework/windows-workflow-foundation/samples/usage-of-the-switch-activity-with-custom-types.md b/docs/framework/windows-workflow-foundation/samples/usage-of-the-switch-activity-with-custom-types.md deleted file mode 100644 index 14c670a9521..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/usage-of-the-switch-activity-with-custom-types.md +++ /dev/null @@ -1,134 +0,0 @@ ---- -title: カスタム型を使用した Switch アクティビティの使用 -ms.date: 03/30/2017 -ms.assetid: 482a48c4-eb83-40c3-a4e2-2f9a8af88b75 -ms.openlocfilehash: b24a03573b31f3fb1c34d4aa6e03bc11f5b25455 -ms.sourcegitcommit: c7f3e2e9d6ead6cc3acd0d66b10a251d0c66e59d -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/08/2018 -ms.locfileid: "44179768" ---- -# カスタム型を使用した Switch アクティビティの使用 -このサンプルでは、 アクティビティを有効にしてユーザー定義の複合型を実行時に評価する方法について説明します。 従来のほとんどの手続き型プログラミング言語での[切り替える](https://go.microsoft.com/fwlink/?LinkId=180521)ステートメントは、変数の条件の評価に基づいて実行ロジックを選択します。 従来、`switch` ステートメントは、静的に評価できる式を対象としています。 つまり、たとえば C# では、プリミティブ型 (、列挙型など) のみがサポートされます。 - - カスタム クラスで切り替えを有効にするには、カスタム複合型の値を実行時に評価するロジックを実装する必要があります。 このサンプルでは、`Person` という名前のカスタム複合型で切り替えを有効にする方法を示します。 - -- カスタム クラス `Person` では、 属性がカスタム の名前で宣言されます。 - - ``` - [TypeConverter(typeof(PersonConverter))] - public class Person - { - public string Name { get; set; } - public int Age { get; set; } - ... - ``` - -- カスタム クラス `Person` では、 クラスと クラスがオーバーライドされます。 - - ``` - public override bool Equals(object obj) - { - Person person = obj as Person; - - if (person != null) - { - return string.Equals(this.Name, person.Name); - } - - return false; - } - - public override int GetHashCode() - { - if (this.Name != null) - { - return this.Name.GetHashCode(); - } - - return 0; - } - ``` - -- カスタム クラスのインスタンスから文字列への変換、および文字列からカスタム クラスのインスタンスへの変換を行う、カスタム クラスが実装されます。 - - ``` - public class PersonConverter : TypeConverter - { - public override bool CanConvertFrom(ITypeDescriptorContext context, - Type sourceType) - { - return (sourceType is string); - } - - // Overrides the ConvertFrom method of TypeConverter. - public override object ConvertFrom(ITypeDescriptorContext context, - CultureInfo culture, object value) - { - if (value == null) - { - return null; - } - - if (value is string) - { - return new Person - { - Name = (string)value - }; - } - - return base.ConvertFrom(context, culture, value); - } - - // Overrides the ConvertTo method of TypeConverter. - public override object ConvertTo(ITypeDescriptorContext context, - CultureInfo culture, object value, Type destinationType) - { - if (destinationType == typeof(string)) - { - if (value != null) - { - return ((Person) value).Name; - } - else - { - return null; - } - } - - return base.ConvertTo(context, culture, value, destinationType); - } - } - ``` - - このサンプルには、次のファイルが含まれています。 - -- **Person.cs**: 定義、`Person`クラス。 - -- **PersonConverter.cs**: の型コンバーター、`Person`クラス。 - -- **Sequence.xaml**: ワークフローを切り替え、`Person`型。 - -- **Program.cs**: ワークフローを実行する main 関数。 - -#### このサンプルを使用するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] に Switch.sln を読み込みます。 - -2. Ctrl キーと Shift キーを押しながら B キーを押して、ソリューションをビルドします。 - -3. Ctrl キーを押しながら F5 キーを押してサンプルを実行します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Built-InActivities\Switch` - -## 関連項目 - [ビルトイン アクティビティ ライブラリ](../../../../docs/framework/windows-workflow-foundation/net-framework-4-5-built-in-activity-library.md) diff --git a/docs/framework/windows-workflow-foundation/samples/use-of-transactedreceivescope.md b/docs/framework/windows-workflow-foundation/samples/use-of-transactedreceivescope.md deleted file mode 100644 index bc053f3ad8c..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/use-of-transactedreceivescope.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: TransactedReceiveScope の使用 -ms.date: 03/30/2017 -ms.assetid: d455f1dc-bfc5-43d6-8ae9-bc3b3a3ea08a -ms.openlocfilehash: bc1c418f3fa116f5e1c1647af3543a38122842f5 -ms.sourcegitcommit: 2eceb05f1a5bb261291a1f6a91c5153727ac1c19 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/04/2018 -ms.locfileid: "43501643" ---- -# TransactedReceiveScope の使用 -このサンプルでは、クライアントからサーバーにトランザクションをフローする方法を示します。このために、 を使用してクライアント上に新しいトランザクションを作成し、 を使用してフローされたトランザクションを含むメッセージを受信し、サーバー上でトランザクションの有効期間のスコープを設定します。 このサンプルは、クライアントとサーバーの役割を果たす 2 つのプロジェクトで構成されます。 - -## クライアント アプリケーション - クライアント アプリケーションは、分散トランザクション ID の出力、サーバーへのメッセージの送信、トランザクションのフロー、応答の受信、分散トランザクション ID の再出力、および完了処理を行うワークフローを実行します。 最初に出力される分散トランザクション ID は空の GUID です。これは、その時点ではトランザクションがまだローカルのみであるためです。 - -## サーバー アプリケーション - サーバー プロジェクトはクライアントに似ていますが、ワークフローが でホストされます。これは、エンドポイントでクライアントからのメッセージをリッスンする必要があるためです。 ワークフローの中心は、クライアントからフローされたトランザクションの受信、送信されたメッセージの出力、分散トランザクション ID の出力、およびクライアントへの応答の送信を行う です。 分散トランザクション ID は空でない GUID になり、トランザクションに対応するアクティビティが の本体に追加された場合、そのアクティビティはフローされたランザクションで実行されます。 - -#### サンプルを実行するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] で TransactedReceiveScope.sln ソリューションを開きます。 - -2. ソリューションをビルドするには、CTRL + SHIFT + B キーを押しますまたは選択**ソリューションのビルド**から、**ビルド**メニュー。 - -3. ビルドが完了すると、ソリューションを右クリックしを選択**スタートアップ プロジェクトの設定**します。 ダイアログ ボックスで、次のように選択します。**マルチ スタートアップ プロジェクト**させ、両方のプロジェクトのアクションが**開始**します。 - -4. F5 キーを押すか、選択**デバッグの開始**から、**デバッグ**メニュー。 または、ctrl キーを押しながら f5 キーを押してまたは選択**デバッグなしで開始**から、**デバッグ**] メニューの [デバッグなしで実行します。 - - > [!NOTE] - > クライアントを起動する前に、サーバーを起動しておく必要があります。 サービスをホストするコンソール ウィンドウの出力で、起動された時間が示されます。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Transactions\TransactedReceiveScope` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/using-a-net-3-0-or-net-3-5-activity-in-a-net-4-5-workflow.md b/docs/framework/windows-workflow-foundation/samples/using-a-net-3-0-or-net-3-5-activity-in-a-net-4-5-workflow.md deleted file mode 100644 index db3f1f6b1aa..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/using-a-net-3-0-or-net-3-5-activity-in-a-net-4-5-workflow.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: .NET Framework 4.5 ワークフローでの .NET Framework 3.0 または .NET Framework 3.5 アクティビティの使用 -ms.date: 03/30/2017 -ms.assetid: 6c53fd4c-5dd0-4fb4-ab6b-111302629548 -ms.openlocfilehash: ec44e56a99660ba422c73bbbf00bf5ef6b7b61ff -ms.sourcegitcommit: efff8f331fd9467f093f8ab8d23a203d6ecb5b60 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/03/2018 -ms.locfileid: "43486132" ---- -# .NET Framework 4.5 ワークフローでの .NET Framework 3.0 または .NET Framework 3.5 アクティビティの使用 -内での .NET Framework 3.0 Windows Workflow Foundation (WF) 活動を実行することにより、アクティビティ、[!INCLUDE[netfx_current_short](../../../../includes/netfx-current-short-md.md)]ワークフロー。 このサンプルでは、 アクティビティを使用して、文字列をカスタムの [!INCLUDE[vstecwinfx](../../../../includes/vstecwinfx-md.md)] アクティビティに引数として渡す方法を示します。 - -## このサンプルを使用するには - -1. [!INCLUDE[vs_current_long](../../../../includes/vs-current-long-md.md)] を使用して、SimpleInterop.sln ソリューション ファイルを開きます。 - -2. ソリューションをビルドするには、Ctrl キーと Shift キーを押しながら B キーを押します。 - -3. ソリューションを実行するには、Ctrl キーを押しながら F5 キーを押します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Migration\SimpleInterop` - -## 関連項目 diff --git a/docs/framework/windows-workflow-foundation/samples/using-asyncoperationcontext-in-an-activity-sample.md b/docs/framework/windows-workflow-foundation/samples/using-asyncoperationcontext-in-an-activity-sample.md deleted file mode 100644 index ddc86b6a168..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/using-asyncoperationcontext-in-an-activity-sample.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -title: アクティビティ サンプルでの AsyncOperationContext の使用 -ms.date: 03/30/2017 -ms.assetid: 0888a0bd-d227-4c00-ad6a-b654a01740e8 -ms.openlocfilehash: 4358a364a3f7ec69b7c1c548fcf82fe494f37505 -ms.sourcegitcommit: 5bbfe34a9a14e4ccb22367e57b57585c208cf757 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/17/2018 -ms.locfileid: "45742889" ---- -# アクティビティ サンプルでの AsyncOperationContext の使用 -このサンプルでは、 を使用してワークフロー外で非同期に作業を実行するカスタムの を開発する方法を示します。 - -## サンプルの詳細 - サンプルのアクティビティでは、 クラスの メソッドおよび メソッドを使用して、非同期にデータをファイルに書き込みます。 ここで示すパターンは、他の非同期メソッドでの使用に合わせて変更できます。 非同期操作の実行中、ワークフローの他のアクティビティを実行できますが、ワークフローを永続化することはできません。 - -#### サンプルをセットアップ、ビルド、および実行するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] で Async.sln サンプル ソリューションを開きます。 - -2. ソリューションをビルドして実行します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\CustomActivities\Code-Bodied\Async` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/using-cancellationscope.md b/docs/framework/windows-workflow-foundation/samples/using-cancellationscope.md deleted file mode 100644 index 4cad9cde929..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/using-cancellationscope.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -title: CancellationScope の使用 -ms.date: 03/30/2017 -ms.assetid: 39c5c338-b316-43d6-b7fe-a543281dd1ec -ms.openlocfilehash: 82d44fff869f207c09dc7685fc3470630e001a59 -ms.sourcegitcommit: a885cc8c3e444ca6471348893d5373c6e9e49a47 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/06/2018 -ms.locfileid: "44035766" ---- -# CancellationScope の使用 -このサンプルでは、 アクティビティを使用してアプリケーション内の処理を取り消す方法を示します。 - - 中間層のコンポーネントやサービスの多くでは、既知のプログラミング構成要素であるトランザクションを使用して取り消しを処理します。 ただし、トランザクションでは実行できない処理を取り消さなければならない場合も数多くあります。 取り消しを使用することがトランザクションを使用することよりも難しいのは、取り消す必要がある処理を先に追跡しなければならないからです。 [!INCLUDE[netfx_current_short](../../../../includes/netfx-current-short-md.md)] には、この処理に役立つ アクティビティが用意されています。 - - 取り消しはアクティビティ内またはアクティビティの親からトリガーできます。 子アクティビティは、親アクティビティ (、またはカスタム複合アクティビティ) によってスケジュールされます。 親アクティビティは、どのような理由でも子アクティビティを取り消すことができます。 たとえば、3 つの子分岐がある アクティビティでは、1 つの分岐が完了し、 式の評価結果が `true` であれば、残りの子分岐を取り消します。 ワークフローは、ホスト アプリケーションで を呼び出すことで外部から取り消すこともできます。 - - アクティビティを使用するには、取り消す必要がある処理を プロパティに設定し、取り消し後に実行する処理を プロパティに設定します。 - - このサンプルでは、アクティビティ自体からアクティビティを取り消す方法を示します。 - - このサンプルでは、マイアミ行きのチケットをできるだけ早く購入する必要があるクライアントのシナリオを使用して、 アクティビティの例を示します。 取り引きを検討している旅行代理店が 2 社あり、 このビジネス ロジックを、 アクティビティ内の 2 つの を使用してモデル化しています。 アクティビティの は `true` に設定されています。分岐の完了後に が確認されるため、最初の分岐が完了すると残りの分岐が取り消されます。 クライアント アプリケーションは、両方の代理店にチケットを注文し、どちらかでチケットを購入できた時点でもう一方の代理店の注文を取り消します。 - -## このサンプルを使用するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] を使用して、CancelationScopeXAML.sln ソリューション ファイルを開きます。 - -2. ソリューションをビルドするには、Ctrl キーと Shift キーを押しながら B キーを押します。 - -3. ソリューションを実行するには、Ctrl キーを押しながら F5 キーを押します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Built-InActivities\CancellationScope` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/using-collection-activities.md b/docs/framework/windows-workflow-foundation/samples/using-collection-activities.md deleted file mode 100644 index a3b781910b3..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/using-collection-activities.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -title: コレクション アクティビティの使用 -ms.date: 03/30/2017 -ms.assetid: e1977cf8-1695-4071-b946-7046fe39601e -ms.openlocfilehash: a92208583ddf1c0d5d85b5af6a250a15ac8851b9 -ms.sourcegitcommit: 2eceb05f1a5bb261291a1f6a91c5153727ac1c19 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/04/2018 -ms.locfileid: "43506552" ---- -# コレクション アクティビティの使用 -このサンプルでは、 インターフェイスを実装するクラスでコレクション アクティビティ (、および ) を使用する方法と、コレクションを反復処理してコレクション内の各要素の内容を出力するカスタム アクティビティを作成する方法を示します。 `PrintCollection` という名前のカスタム アクティビティは、`Numbers` という名前のコレクションの項目メンバーをコンソールに出力します。 - - 次の表で、ワークフローにコレクション操作を提供する 4 つのアクティビティについて説明します。 - -|アクティビティ名|説明| -|-------------------|-----------------| -||項目をコレクションに追加します。| -||コレクションの項目をすべて削除します。| -||指定された項目がコレクション内に存在する場合、`true` を返します。| -||コレクションから項目を削除します。| - - このサンプルは 2 つのソリューションで構成されます。1 つは CodedWorkflow ディレクトリにあり、もう 1 つは DesignerWorkflow ディレクトリにあります。 これらのソリューションでは、アクティビティを使用して同じ目的を達成するための 2 つの異なる方法を示します。 - -|ソリューション|説明|メイン ファイル| -|-|-|-| -|CodedWorkflow|プログラムでコレクション アクティビティを呼び出す方法を示すサンプル クライアント アプリケーション。|**PrintCollection.cs**: コレクション内のすべての項目をコンソールに出力するヘルパー アクティビティ。

**Program.cs**: プログラムによって、一連のコレクション アクティビティを実行するシーケンス アクティビティをビルドします。| -|DesignerWorkflow|ワークフロー デザイナーでコレクション アクティビティを宣言的に使用する方法を示すサンプル クライアント アプリケーション。|**CollectionWorkflow.xaml**: コレクション アクティビティを使用するデザイナーで宣言によって作成されたワークフローです。

**PrintCollection.cs**: コレクション内のすべての項目をコンソールに出力するヘルパー アクティビティ。

**Program.cs**: CollectionWorkflow.xaml に記述されたワークフローを呼び出します。| - - デモでは、`Numbers` という名前のカスタム定義アクティビティを使用して、コレクション `PrintCollection` の項目メンバーをコンソールに出力します。 - -#### このサンプルを使用するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] を使用して、Collection.sln ソリューション ファイルを開きます。 - -2. ソリューションをビルドするには、Ctrl キーと Shift キーを押しながら B キーを押します。 - -3. ソリューションを実行するには、Ctrl キーを押しながら F5 キーを押します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Built-InActivities\Collection` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/using-interop-with-external-data-exchange.md b/docs/framework/windows-workflow-foundation/samples/using-interop-with-external-data-exchange.md deleted file mode 100644 index be1cb09972e..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/using-interop-with-external-data-exchange.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -title: External Data Exchange での Interop の使用 -ms.date: 03/30/2017 -ms.assetid: 96f6fe26-5305-494f-9119-7748e0c4b3fa -ms.openlocfilehash: 534321e5b5568e0dd0988333dc98ccc18ff33df8 -ms.sourcegitcommit: fb78d8abbdb87144a3872cf154930157090dd933 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/26/2018 -ms.locfileid: "47195967" ---- -# External Data Exchange での Interop の使用 -から Windows Workflow Foundation (WF) でアクティビティを実行するアクティビティを使用できます[!INCLUDE[vstecwinfx](../../../../includes/vstecwinfx-md.md)]と[!INCLUDE[netfx35_long](../../../../includes/netfx35-long-md.md)](WF3) 内での Windows Workflow Foundation でワークフローと[!INCLUDE[netfx_current_long](../../../../includes/netfx-current-long-md.md)](WF4)。 このサンプルは、WF4 ワークフロー サービスの アクティビティを使用して、 (およびメソッドを呼び出してイベントを処理するための対応するカスタム アクティビティ) を使用する WF3 ワークフローを設定および実行する方法を示します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Migration\ExternalDataExchange` - -#### このサンプルを使用するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] で ExternalDataExchange.sln ファイルを開きます。 - -2. サンプルをビルドするには、Ctrl キーと Shift キーを押しながら B キーを押します。 - -3. サンプルを実行するには、F5 キーを押します。 diff --git a/docs/framework/windows-workflow-foundation/samples/using-procedural-activities.md b/docs/framework/windows-workflow-foundation/samples/using-procedural-activities.md deleted file mode 100644 index 01f92477a3e..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/using-procedural-activities.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: 手続き型アクティビティの使用 -ms.date: 03/30/2017 -ms.assetid: 1c67f739-3878-48ad-806c-b2ce0d6733a0 -ms.openlocfilehash: bd83f1a0fa9f3af7c22cee73fbc4f984a9ebf53c -ms.sourcegitcommit: 3c1c3ba79895335ff3737934e39372555ca7d6d0 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/06/2018 -ms.locfileid: "43804770" ---- -# 手続き型アクティビティの使用 -このサンプルでは、、および の各アクティビティを使用して推測ゲームを実装します。 推測ゲームではランダムな数値が選択され、プレーヤーはその数値を推測する必要があります。 プレーヤーが送信した推測が間違っていると、ワークフローは、その値が正解よりも上か下かを示すヒントを提供します。 プレーヤーが 7 回未満で数値を推測できた場合は、特別な祝福のメッセージがユーザーに表示されます。 - -## このサンプルのカスタム アクティビティ - -### ReadLine - コンソールからテキスト行を読み取ります。 このアクティビティは クラスから派生し、行が読み取られるときにコンソール アプリケーションによって再開されるブックマークを作成します。 - -### PromptInt - ユーザーに数値の入力を求めるメッセージを表示し、その数値をコンソール ウィンドウから読み取ります。 このアクティビティは から派生し、 アクティビティと `ReadLine` アクティビティを使用します。 - -##### このサンプルを使用するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] を使用して、GuessingGame.sln ソリューション ファイルを開きます。 - -2. ソリューションをビルドするには、Ctrl キーと Shift キーを押しながら B キーを押します。 - -3. ソリューションを実行するには、Ctrl キーを押しながら F5 キーを押します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Built-InActivities\Procedurals` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/using-the-invokepowershell-activity.md b/docs/framework/windows-workflow-foundation/samples/using-the-invokepowershell-activity.md deleted file mode 100644 index 16df7101e56..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/using-the-invokepowershell-activity.md +++ /dev/null @@ -1,209 +0,0 @@ ---- -title: InvokePowerShell アクティビティの使用 -ms.date: 03/30/2017 -ms.assetid: 956251a0-31ca-4183-bf76-d277c08585df -ms.openlocfilehash: fa42cddd930b755e9938a02a137ee77ee273fad0 -ms.sourcegitcommit: 6eac9a01ff5d70c6d18460324c016a3612c5e268 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/14/2018 -ms.locfileid: "45595281" ---- -# InvokePowerShell アクティビティの使用 -InvokePowerShell サンプルでは、`InvokePowerShell` アクティビティを使用して Windows PowerShell コマンドを呼び出す方法を示します。 - -## 使用例 - -- Windows PowerShell コマンドの簡便さと革新性。 - -- Windows PowerShell の出力パイプラインから値を取得してワークフロー変数に格納する。 - -- 実行するコマンドのための入力パイプラインとして Windows PowerShell にデータを渡す。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Scenario\ActivityLibrary\PowerShell` - -## 説明 - このサンプルには次の 3 つのプロジェクトが含まれています。 - -|プロジェクト名|説明|メイン ファイル| -|------------------|-----------------|----------------| -|CodedClient|PowerShell アクティビティを使用するサンプル クライアント アプリケーション。|- **Program.cs**: InvokePowerShell アクティビティを呼び出すシーケンス ベースのワークフローをプログラムで作成します。| -|DesignerClient|`InvokePowerShell` カスタム アクティビティや他のさまざまなカスタム アクティビティを含むカスタム アクティビティのセットと、それらを使用するワークフロー。|
  • アクティビティ:

    • **PrintCollection.cs**: コンソールに、コレクション内のすべての項目を出力するヘルパー アクティビティ。
    • **ReadLine.cs**: コンソールから入力を読み取るのためのヘルパー アクティビティ。
  • ファイル システム:

    • **Copy.xaml**: ファイルをコピーするアクティビティ。
    • **CreateFile.xaml**: ファイルを作成するアクティビティ。
    • **DeleteFile.xaml**: ファイルを削除するアクティビティ。
    • **MakeDir.xaml**: ディレクトリを作成するアクティビティ。
    • **Move.xaml**: ファイルを移動するアクティビティ。
    • **ReadFile.xaml**: ファイルを読み取り、その内容を返すアクティビティ。
    • **TestPath.xaml**: パスの存在をテストするアクティビティ。
  • プロセス:

    • **GetProcess.xaml**: 実行中のプロセスの一覧を取得するアクティビティ。
    • **StopProcess.xaml**: 特定のプロセスを停止するアクティビティ。
  • **Program.cs**: Sequence1 ワークフローを呼び出します。
  • **Sequence1.xaml**: シーケンス ベースのワークフロー。
| -|PowerShell|`InvokePowerShell` アクティビティと、それに関連付けられたデザイナー。|アクティビティのファイル

- **ExecutePowerShell.cs**: アクティビティのメインの実行ロジック。
- **InvokePowerShell.cs**: ジェネリック (値を返す) バージョンと非ジェネリック (以外の戻り値の値) のバージョンが含まれるメインの実行ロジックのラッパーです。 これは、アクティビティのパブリック インターフェイスです。
- **NoPersistZone.cs**: このアクティビティは、永続化からすべての子アクティビティを防止します。 このクラスは、`InvokePowerShell` アクティビティの実装の中で、アクティビティが実行の途中で永続化されるのを防ぐために使用されます。

デザイナーのファイル:

1.**ArgumentDictionaryEditor.cs**: A Windows ダイアログ ボックスの引数を編集するユーザーが、`InvokePowerShell`アクティビティ。
2.**GenericInvokePowerShellDesigner.xaml**と**GenericInvokePowerShellDesigner.xaml.cs**: ジェネリックの外観を定義`InvokePowerShell`アクティビティ[!INCLUDE[wfd2](../../../../includes/wfd2-md.md)]します。
3.**InvokePowerShellDesigner.xaml**と**InvokePowerShellDesigner.cs**: 非ジェネリックの外観を定義`InvokePowerShell`アクティビティ[!INCLUDE[wfd2](../../../../includes/wfd2-md.md)]します。| - - PowerShell アクティビティの使用方法を把握しているとその内部機能を理解しやすくなるため、クライアント プロジェクトから先に説明します。 - -## このサンプルの使用 - 以降では、このサンプルの 3 つのプロジェクトの使用方法について説明します。 - -### CodedClient プロジェクトの使用 - このサンプル クライアントは、`InvokePowerShell` アクティビティのさまざまな使用方法の例を含むシーケンス アクティビティをプログラムで作成します。 最初の呼び出しでは、メモ帳を起動します。 - -``` -new InvokePowerShell() -{ - CommandText = "notepad" -}, -``` - - 2 番目の呼び出しでは、ローカル コンピューターで実行されているプロセスのリストを取得します。 - -``` -new InvokePowerShell() -{ - CommandText = "Get-Process", - Output = processes1, -}, -``` - - `Output` は、コマンドの出力を格納するための変数です。 - - 次の呼び出しは、PowerShell 呼び出しの個々の出力の後処理のステップを実行する方法を示します。 `InitializationAction` は、各プロセスの文字列形式を出力する関数に設定されます。 それらの文字列のコレクションは、`Output` アクティビティによって `InvokePowerShell` 変数で返されます。 - - その後に続く一連の `InvokePowerShell` の呼び出しは、アクティビティにデータを渡して出力とエラーを取得する方法を示しています。 - -### DesignerClient プロジェクトの使用 - DesignerClient プロジェクトは一連のカスタム アクティビティで構成されていますが、それらのほぼすべてに `InvokePowerShell` アクティビティが含まれています。 ほとんどのアクティビティは、非ジェネリック バージョンの `InvokePowerShell` アクティビティを呼び出します。したがって、戻り値を受け取りません。 ジェネリック バージョンの `InvokePowerShell` アクティビティを使用するその他のアクティビティは、`InitializationAction` 引数を使用して結果の後処理を行います。 - -## PowerShell プロジェクトの使用 - アクティビティの主要なアクションは `ExecutePowerShell` クラスで実行されます。 PowerShell コマンドの実行によってメインのワークフロー スレッドがブロックされないようにする必要があるため、アクティビティは、 クラスを継承して非同期アクティビティとして作成されています。 - - ワークフロー ランタイムによって メソッドが呼び出されると、アクティビティの実行が開始されます。 このメソッドは、まず最初に、PowerShell API を呼び出して PowerShell パイプラインを作成します。 - -``` -runspace = RunspaceFactory.CreateRunspace(); -runspace.Open(); -pipeline = runspace.CreatePipeline(); -``` - - 次に、PowerShell コマンドを作成してパラメーターと変数を設定します。 - -``` -Command cmd = new Command(this.CommandText, this.IsScript); -// loop over parameters and run: cmd.Parameters.Add(...) -// loop over variables and run: runspace.SessionStateProxy.SetVariable(...) -pipeline.Commands.Add(cmd); -``` - - この時点で、パイプ入力された入力がパイプラインにも送信されます。 最後に、パイプラインが `PipelineInvokerAsyncResult` オブジェクトでラップされて返されます。 `PipelineInvokerAsyncResult` オブジェクトは、リスナーを登録してパイプラインを呼び出します。 - -``` -pipeline.InvokeAsync(); -``` - - 実行が終了すると、出力とエラーが同じ `PipelineInvokerAsyncResult` オブジェクトに格納され、最初に に渡されたコールバック メソッドが呼び出されてワークフロー ランタイムに制御が返されます。 - - メソッドの実行の最後に、ワークフロー ランタイムがアクティビティの メソッドを呼び出します。 - - `InvokePowerShell` クラスは `ExecutePowerShellCommand` クラスをラップして、ジェネリック バージョンと非ジェネリック バージョンの 2 つのバージョンのアクティビティを作成します。 非ジェネリック バージョンは PowerShell の実行の出力をそのまま返しますが、ジェネリック バージョンは個々の結果をジェネリック型に変換します。 - - ジェネリック バージョンのアクティビティは、`ExecutePowerShellCommand` を呼び出してその結果の後処理を行うシーケンシャル ワークフローとして実装されています。 後処理のステップでは、結果のコレクションの各要素に対して、`InitializationAction` が設定されている場合にはそれが呼び出され、 設定されていない場合には単純なキャストが行われます。 - -``` -new ForEach -{ - Values = psObjects, - Body = new ActivityAction - { - Argument = psObject, - Handler = new Sequence - { - Activities = - { - new If - { - Condition = // Is InitializationAction set? - Then = new InvokeFunc - { - Argument = psObject, - Result = outputObject, - Func = this.InitializationAction - }, - Else = new Assign - { - To = outputObject, - Value = new InArgument(ctx => (TResult) psObject.Get(ctx).BaseObject), - } - }, - new AddToCollection - { - Collection = outputObjects, - Item = outputObject - }, - } - } - } -}, -``` - - 2 つの `InvokePowerShell` アクティビティ (ジェネリックと非ジェネリック) のそれぞれにデザイナーが用意されています。 InvokePowerShellDesigner.xaml とその関連 .cs ファイルは、非ジェネリック バージョンの [!INCLUDE[wfd2](../../../../includes/wfd2-md.md)] アクティビティの`InvokePowerShell`での外観を定義します。 InvokePowerShellDesigner.xaml では、 を使用してグラフィカル インターフェイスを表しています。 - -``` - - - - -``` - - テキスト ボックスの `Text` プロパティが双方向のバインドになっているため、アクティビティの `CommandText` プロパティの値がデザイナーに入力された値と同じになります。 - - GenericInvokePowerShellDesigner.xaml とその関連 .cs ファイルは、ジェネリック `InvokePowerShell` アクティビティのグラフィカル インターフェイスを定義します。 このデザイナーは、`InitializationAction` を設定できるようになっているため、非ジェネリック バージョンのデザイナーに比べてやや複雑です。 ここでのポイントは、 を使用して、`InvokePowerShell` のデザイナー画面に子アクティビティをドラッグ アンド ドロップできるようにしていることです。 - -``` - -``` - - デザイナーでカスタマイズできるのは、デザイン キャンバスでのアクティビティの外観を定義する .xaml ファイルだけではありません。 アクティビティのパラメーターを表示するために使用されるダイアログ ボックスもカスタマイズできます。 これらのパラメーターや PowerShell 変数は、PowerShell コマンドの動作に影響します。 アクティビティとして公開されます`System.Collections.Generic.Dictionary`型。 これらの型を編集できるダイアログ ボックスは、ArgumentDictionaryEditor.cs、PropertyEditorResources.xaml、および PropertyEditorResources.cs で定義されています。 - -## サンプルをセットアップ、ビルド、および実行するには - このサンプルを実行するには Windows PowerShell をインストールする必要があります。 Windows PowerShell は、この場所からインストールできます。 [Windows PowerShell](https://go.microsoft.com/fwlink/?LinkId=150383)します。 - -#### コード クライアントを実行するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] を使用して PowerShell.sln を開きます。 - -2. ソリューションを右クリックしてビルドします。 - -3. 右クリックし、 **CodedClient**順に選択して**スタートアップ プロジェクトとして設定**します。 - -4. Ctrl キーを押しながら F5 キーを押してアプリケーションを実行します。 - -#### デザイナー クライアントを実行するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] を使用して PowerShell.sln を開きます。 - -2. ソリューションを右クリックしてビルドします。 - -3. 右クリックし、 **DesignerClient**順に選択して**スタートアップ プロジェクトとして設定**します。 - -4. Ctrl キーを押しながら F5 キーを押してアプリケーションを実行します。 - -## 既知の問題 - -1. `InvokePowerShell` アクティビティのアセンブリやプロジェクトを別のプロジェクトから参照してビルド エラーが発生した場合は、必要に応じて、新しいプロジェクトの .csproj ファイル (`True` を参照している行の下) に `InvokePowerShell` 要素を手動で追加してください。 - -2. 追加するとすぐに Visual Studio で次のエラー メッセージが表示される Windows PowerShell がインストールされていない場合、`InvokePowerShell`アクティビティをワークフローに。 `Workflow Designer encountered problems with your document. Could not load file or assembly ‘System.Management.Automation’ ... or one of its dependencies. The system cannot find the file specified.` - -3. Windows PowerShell 2.0 では、プログラムで `$input.MoveNext()` を呼び出すと呼び出しが失敗します。そのため、`$input.MoveNext()` を使用するスクリプトで予想外のエラーと結果が生成されます。 この問題を回避するには、配列を反復処理するときに、`foreach` を呼び出す代わりに PowerShell の動詞 `MoveNext()` を使用することを検討してください。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Scenario\ActivityLibrary\PowerShell` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/using-the-workflowinvoker-class.md b/docs/framework/windows-workflow-foundation/samples/using-the-workflowinvoker-class.md deleted file mode 100644 index ecf2d787c7c..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/using-the-workflowinvoker-class.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -title: WorkflowInvoker クラスの使用 -ms.date: 03/30/2017 -ms.assetid: 0a966164-3990-4e78-8aa2-c6797ebbee94 -ms.openlocfilehash: d6525dbbd30aae95be4c4ee1de267736e557a541 -ms.sourcegitcommit: 3c1c3ba79895335ff3737934e39372555ca7d6d0 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/05/2018 -ms.locfileid: "43748710" ---- -# WorkflowInvoker クラスの使用 -このサンプルでは、 クラスを使用して、メソッドのようにアクティビティを呼び出す方法を示します。 - -## サンプルの詳細 - アクティビティを実行するための最も簡単な方法は、 クラスを使用する方法です。 このクラスは、メソッドを呼び出すようにアクティビティを直接実行することを目的として設計されています。 このクラスは、軽量で高性能な、使いやすい API で、アクティビティを実行する際に他のホスティングのバリエーションが提供する制御インフラストラクチャを必要としないシナリオで使用できます。 - - サンプルから派生したカスタム アクティビティを使用して< Int32\>という名前`Add`2 つ追加する、`X`と`Y`、しを返します、 `Result`します。 (\ から派生した< T\>を持つ、 \ という名前の`Result`)。A `Dictionary` \ を介して呼び出されるアクティビティに引数を渡すために使用します。 ディクショナリのキーは、呼び出し先のアクティビティにおける引数名に対応します。 特定のキーに関連付けられた値は、キーによって識別される引数にバインドされます。 - - このサンプルは、 を呼び出して、`X` および `Y` の値を含むディクショナリを渡します。 クラスは、これらの値を `Add` アクティビティの引数にバインドし、アクティビティを実行して、結果を返します。 - -#### このサンプルを使用するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] を使用して、Invoker.sln ソリューション ファイルを開きます。 - -2. ソリューションをビルドするには、Ctrl キーと Shift キーを押しながら B キーを押します。 - -3. ソリューションを実行するには、F5 キーを押します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Execution\WorkflowInvoker` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/using-variables-with-dotnet-ruleset.md b/docs/framework/windows-workflow-foundation/samples/using-variables-with-dotnet-ruleset.md deleted file mode 100644 index 5bdad9dc20a..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/using-variables-with-dotnet-ruleset.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -title: .NET Framework 3.5 ルールセットでの変数の使用 -ms.date: 03/30/2017 -ms.assetid: 27b56249-22fe-4252-840f-74c0d6c7a6b3 -ms.openlocfilehash: 64d47564076e19e152e30b6ab0cb3900ce53cfa1 -ms.sourcegitcommit: 2eceb05f1a5bb261291a1f6a91c5153727ac1c19 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/04/2018 -ms.locfileid: "43512855" ---- -# .NET Framework 3.5 ルールセットでの変数の使用 -このサンプルでは、 アクティビティを使用するワークフローを作成し、ポリシーとルールを使用する、[!INCLUDE[netfx35_short](../../../../includes/netfx35-short-md.md)] で記述されたカスタム アクティビティを統合する方法を示します。 このワークフローでは、カスタム アクティビティで公開されている依存プロパティに変数をバインドすることで、カスタム アクティビティにデータを渡します。 - -## サンプルのチュートリアル - -#### TravelRuleLibrary を検証するには - -1. Visual Studio を使用して、InteropWith35RuleSet.sln ソリューション ファイルを開きます。 - -2. ワークフロー デザイナーで TravelRuleSet.cs を開きます。 - - を含むカスタム シーケンシャル アクティビティが表示されます。 - -3. ルールを検証するには、DiscountPolicy ポリシー アクティビティをダブルクリックします。 - - ルール エディターがポップアップで開き、ルールが表示されます。 - -4. 右クリックして、`DiscountPolicy`を選択し、**コードの表示**アクティビティの c# コードの横にあるコードを確認するにはオプションです。 - - `DiscountLevel` の依存関係プロパティの設定を確認します。 これは [!INCLUDE[netfx_current_short](../../../../includes/netfx-current-short-md.md)] の引数と同じです。 引数の詳細については、次を参照してください。[変数と引数](../../../../docs/framework/windows-workflow-foundation/variables-and-arguments.md)します。 - -## InteropWith35RuleSet - これは、 アクティビティを使用して、`TravelRuleLibrary` プロジェクトで作成されたカスタム ルール セットと統合するシーケンシャル ワークフロー プロジェクトです。 変数は、最上位レベルの アクティビティで作成されます。 アクティビティは、`TravelRuleSet` アクティビティと統合するために使用されます。 で宣言された変数は、依存プロパティにバインドするために使用されます。 - -## このサンプルを使用するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] を使用して、InteropWith35RuleSet.sln ソリューション ファイルを開きます。 - -2. ソリューションをビルドするには、Ctrl キーと Shift キーを押しながら B キーを押します。 - -3. ソリューションを実行するには、Ctrl キーを押しながら F5 キーを押します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Built-InActivities\InteropWith35RuleSet` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/validation.md b/docs/framework/windows-workflow-foundation/samples/validation.md deleted file mode 100644 index 239e3ec121d..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/validation.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -title: Validation2 -ms.date: 03/30/2017 -ms.assetid: 8ea741d7-ccfb-46c5-a3fb-b66d6ebd6928 -ms.openlocfilehash: d02862b735a879d7a8a8a68f6362864366473de8 -ms.sourcegitcommit: 3d5d33f384eeba41b2dff79d096f47ccc8d8f03d -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 05/04/2018 -ms.locfileid: "33515744" ---- -# 検証 -このセクションには、アクティビティの検証を示すサンプルが含まれています。 - -## このセクションの内容 - [外部アクティビティの検証](../../../../docs/framework/windows-workflow-foundation/samples/external-activity-validation.md) - このサンプルでは、ユーザーが作成するものではないビルトイン アクティビティに検証ロジックを追加する方法を示します。 - - [基本検証](../../../../docs/framework/windows-workflow-foundation/samples/basic-validation.md) - `CreateProduct` アクティビティを示します。このアクティビティでは、その `Cost` 引数が `Price` 引数以下であることを検証します。 - - [OverloadGroups](../../../../docs/framework/windows-workflow-foundation/samples/overloadgroups.md) - `CreateLocation` アクティビティを示します。このアクティビティには、必須の引数と省略可能な引数があり、ユーザーは 2 つの異なる引数のセットのどちらかを指定できます。 - - [アクティビティの関係の検証](../../../../docs/framework/windows-workflow-foundation/samples/activity-relationships-validation.md) - アクティビティ間の関係を検証する方法を示します。 diff --git a/docs/framework/windows-workflow-foundation/samples/wait-for-input-activity.md b/docs/framework/windows-workflow-foundation/samples/wait-for-input-activity.md deleted file mode 100644 index 8a6f8e388c3..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/wait-for-input-activity.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -title: 入力アクティビティの待機 -ms.date: 03/30/2017 -ms.assetid: d58c344e-9ee8-4ce2-b199-75b3fe45237f -ms.openlocfilehash: 2e878e8c91c5da12a68da848694ce790896517c7 -ms.sourcegitcommit: 3c1c3ba79895335ff3737934e39372555ca7d6d0 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/05/2018 -ms.locfileid: "43741173" ---- -# 入力アクティビティの待機 -このサンプルでは、ワークフローに名前付きブックマークを作成する方法を示します。 Windows Workflow Foundation (WF) では、宣言型ブックマークを作成するアクティビティは提供されません。 そのため、ワークフローにブックマークを作成する場合は、ブックマークを作成するカスタム アクティビティを記述する必要があります。 このサンプルで定義される `WaitForInput` アクティビティはこの機能を提供します。そのため、ユーザーはワークフロー内で宣言によってブックマークを作成できます。 - -## このサンプルのプロジェクト - -|**プロジェクト名**|**説明**|**メイン ファイル**| -|-|-|-| -|WaitForInput|`WaitForInput` アクティビティとそのデザイナーが含まれます。|WaitForInput.cs

`WaitForInput` アクティビティ定義。| -|||WaitForInputDesigner.xaml

`WaitForInput` アクティビティのカスタム デザイナー。| -|||TypeToFirstGenericArgumentConverter.cs

デザイナーでアクティビティのジェネリック型を更新するために使用される WPF 型コンバーター。| -|WaitForInputTestClient|ワークフロー デザイナーで、複数の WaitForInput アクティビティを使用してワークフローを構成および実行するサンプル クライアント アプリケーション。|Sequence1.xaml

`WaitForInput` アクティビティを使用するシーケンシャル ワークフロー。| -|||Program.cs

Sequence1.xaml で定義されているワークフローのインスタンスを実行します。| - -## WaitForInput アクティビティ - `WaitForInput` アクティビティは、ワークフローに名前付きブックマークを作成します。 ブックマークはシグナルを待機し、構成された型のデータを受信します。 ブックマークが再開されると、ワークフローに渡されたデータを `Result` プロパティで使用できるようになります。 - - `WaitForInput` アクティビティは、 クラスを介してのみアクセスできるブックマークを作成する必要があるため、 クラスから派生します。 - - このアクティビティには、デザイナーをバインドするための属性、更新可能なジェネリック引数機能を追加するための属性、および既定のジェネリック型を文字列に設定するための属性が割り当てられます。 また、このアクティビティには、次の表に示す引数があります。 - -|**Name**|**Type**|**説明**| -|-|-|-| -|TResult|ジェネリック引数 (TResult)|ブックマークの型。 これは再開時にブックマークに渡されるデータの型です。| -|BookmarkName|InArgument\<文字列 >|ブックマークの名前。| -|結果|InArgument\|ブックマークが再開されたときにアクティビティに渡されるデータ。| - -## WaitForInput アクティビティ デザイナー - `WaitForInput` アクティビティ デザイナーは、WaitForInputDesigner.xaml ファイルで実装されます。 `WaitForInput` アクティビティとそのデザイナーは、同じアセンブリに格納されます。 次の図は、アセンブリと同じ名前を持つカテゴリ内のツールボックスに含まれる `WaitForInput` アクティビティを示しています。 - - ![WaitForInput ツールボックスのスクリーン ショット](../../../../docs/framework/windows-workflow-foundation/samples/media/waitforinputtoolbox.jpg "WaitForInputToolbox") - - 次の図は、`WaitForInput` デザイナーを示しています。 `WaitForInput` アクティビティは非常に基本的なアクティビティであるため、そのすべての引数をデザイナー サーフェイスで直接設定できます。 - - ![WaitForInput アクティビティ デザイナー](../../../../docs/framework/windows-workflow-foundation/samples/media/waitforinputdesigner.jpg "WaitForInputDesigner") - -#### このサンプルを使用するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] を使用して、WaitForInput.sln ファイルを開きます。 - -2. ソリューションをビルドするには、Ctrl キーと Shift キーを押しながら B キーを押します。 - -3. サンプルをデバッグなしで開始するには、Ctrl キーを押しながら F5 キーを押します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Scenario\ActivityLibrary\WaitForInput` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/workflow-management-endpoint-sample.md b/docs/framework/windows-workflow-foundation/samples/workflow-management-endpoint-sample.md deleted file mode 100644 index e8fdd0d735d..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/workflow-management-endpoint-sample.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: ワークフロー管理エンドポイントのサンプル -ms.date: 03/30/2017 -ms.assetid: 3ac6e08f-c43d-4bb7-83c3-e3890a4dac03 -ms.openlocfilehash: 398ace1c198f0db0268c44083ccc98c5ba2d2c7f -ms.sourcegitcommit: fb78d8abbdb87144a3872cf154930157090dd933 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/27/2018 -ms.locfileid: "47399126" ---- -# ワークフロー管理エンドポイントのサンプル -このサンプルでは、ワークフロー コントロール エンドポイントを使用して、ローカルとリモートの両方でワークフローを作成および実行する方法を示します。 このサンプルでは、コントロール エンドポイントをホストし、そのコントロール エンドポイントを呼び出すクライアントを記述して、ワークフローのインスタンスを作成および実行する方法を示します。 このワークフローはサービスではありません。 - - サンプルのサービス側では、ワークフローが WorkflowServiceHost を使用してホストされており、クライアントが管理操作 (保留、開始など) を実行できるように WorkflowControlEndpoint が追加されています。 ワークフローを作成できるように、ユーザー定義 CreationEndpoint も追加されています。 次に、サービスは、中断状態のワークフローを開始するこれらのエンドポイントを使用して、ワークフローを再開します。 クライアントはクライアント コードから同じ操作を実行します。 これらの詳細については、「インターフェイスの[ワークフロー コントロール エンドポイント](../../../../docs/framework/wcf/feature-details/workflow-control-endpoint.md)します。 - -#### サンプルを実行するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] を管理者権限で実行します。 - -2. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] で ManagementEndpoint.sln ソリューションを開きます。 - -3. ソリューションをビルドするには、CTRL + SHIFT + B キーを押しますまたは選択**ソリューションのビルド**から、**ビルド**メニュー。 - -4. ManagementEndpoint.exe アプリケーションを起動します。 - -5. Client.exe アプリケーションを起動します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Execution\ManagementEndpoint` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/workflowapplication-readline-host.md b/docs/framework/windows-workflow-foundation/samples/workflowapplication-readline-host.md deleted file mode 100644 index 1dd30927326..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/workflowapplication-readline-host.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -title: WorkflowApplication ReadLine ホスト -ms.date: 03/30/2017 -ms.assetid: f7b362be-cb42-40d7-b9ef-cfc4aed2455b -ms.openlocfilehash: 4388ff0285de58b0dc6f86af93aad84b2894373f -ms.sourcegitcommit: 2eceb05f1a5bb261291a1f6a91c5153727ac1c19 -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/04/2018 -ms.locfileid: "43502936" ---- -# WorkflowApplication ReadLine ホスト -このサンプルは、汎用 ReadLine ホストです。 用意されている `ReadLine` アクティビティ (または文字列を使用して再開されるブックマークからデータを取得する他の同様のアクティビティ) を使用して、任意のワークフローを読み込んで実行することができます。 `WriteLine` アクティビティ、または 拡張に書き込みを行うアクティビティからの出力は、ホスト ウィンドウに送られます。 インスタンスがアイドル状態の場合、そのインスタンスの使用可能なブックマークがコンボ ボックスに表示されます。 ブックマークを選択してテキストを入力し、ブックマークを再開するボタンをクリックすると、ワークフローの実行が続行されます。 選択したワークフローを取り消したり、中止または終了することもできます。 既定では永続化が有効になっており、ホストをシャットダウンして再起動しても、データベースに格納されているインスタンスがインスタンスの一覧に読み込まれます。 レベルのイベントをホストに出力するには、追跡を使用します。オプションで、アクティビティ レベルの詳細な追跡も行うことができます。 - -## サンプルの詳細 - このホストには、ビューとインスタンス マネージャーの 2 つのレイヤーがあります。 ビューは、`HostView` クラスと `WorkflowApplicationInfo` クラスで構成されます。 このホストの一般的なパターンでは、`HostView` クラスを使用して、対象のインスタンスと適切に同期された `WorkflowApplicationInfo` オブジェクトに基づいて、ユーザーに使用可能なオプションを表示します。 インスタンス マネージャー レイヤーは、すべてのホスト通信の中核となる `WorkflowApplicationManager` クラス、インスタンスとそれを開始するのに使用されたプログラム定義との関係を永続化する `WorkflowDefinitionExtension` クラス、およびその他のいくつかのクラスで構成されます。 `HostView` から、`WorkflowApplicationManager` に対する制御操作の呼び出しが行われます。 これらの呼び出しは、通常、ユーザー インターフェイスの応答性を維持するために非同期で実行されます。 非同期呼び出しが完了すると、`WorkflowApplicationManager` から、適切に定義されたインターフェイス (`IHostView`) を介してビュー レイヤーにコールバックされます。 `HostView` クラスは、ほとんどの場合、`WorkflowApplicationManager` クラスからのこれらの呼び出しをユーザー インターフェイス スレッドにディスパッチします。 クラスで提供されるスレッド セーフな `HostView` オブジェクトへのテキストの書き込みが実行されます。 イベントを生成する方法はユーザー インターフェイスだけではありません。 たとえば、 オブジェクトも、状態が `WorkflowApplicationManager`、`Idle`、または `Complete` になると `Aborted` に通知します。 `WorkflowApplicationManager` クラスは、ホストにクリーンアップ処理または更新処理をディスパッチしてイベント スレッドを削除します。 - - の起動に使用されたファイルは、`WorkflowDefinitionExtension` クラスを使用して簡単に記録することができます。 このクラスは、永続化に参加してワークフロー定義のパスを永続化するために、 インターフェイスを実装します。 - - `WorkflowApplicationManager.Load` メソッドは、格納されているパスを使用して、未完了の オブジェクトの読み込みに必要なワークフロー プログラムをインスタンス化します。 - -#### サンプルをセットアップ、ビルド、および実行するには - -1. このサンプルを実行するには、SQL Express がインストールされている必要があります。 SQL Express は [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] に付属しています。 - -2. Visual Studio 2010 コマンド プロンプトを開きます。 - -3. サンプル ディレクトリ (\WF\Basic\Execution\ControllingWorkflowApplications) に移動して、CreateInstanceStore.cmd を実行します。 - -4. CreateInstanceStore.cmd スクリプトは、SQL Server 2008 Express の既定のインスタンスにデータベースを作成しようとします。 別のインスタンスにデータベースをインストールする場合は、そのようにスクリプトを変更してください。 - -5. WorkflowApplicationReadLineHost プロジェクトをコンパイルし、コマンド ラインから実行します。 - -6. 実行後、永続化を有効にするか無効にするかを必要に応じて切り替えることができます。 また、詳細なアクティビティ追跡についても、有効にするか無効にするかを切り替えることができます。 - -7. 横にある省略記号ボタンを押して、**実行**XAML ファイルで定義されたワークフローを参照するボタンをクリックします。 - - SampleWorkflows フォルダーには、サンプルが 2 つあります。 parallel1.xaml サンプルはアイドル状態になります。 - -8. 例を選択すると、次のようにキーを押して、**実行**ボタンをクリックします。 - -9. または、ワークフローがアイドル状態になったとき、**ブックマーク**コンボ ボックスには、使用可能なブックマークが設定されます。 - -10. ここで、ブックマークの再開や、ワークフローの取り消し、中止、または終了を実行できます。 また、ホストをシャットダウンして再起動することもできます。 永続化を有効なままにしてあれば、シャットダウン時にインスタンスがアンロードされ、起動時に再度読み込まれます。 - - ブックマークを再開するには、目的のブックマークの選択、キーを押して、コンボ ボックスの横にあるテキスト ボックスに値を入力**ブックマークの再開**します。 - -#### インスタンス ストア データベースを削除するには - -1. Visual Studio 2010 コマンド プロンプトを開きます。 - -2. サンプル ディレクトリ (\WF\Basic\Execution\ControllingWorkflowApplications) に移動して、RemoveInstanceStore.cmd を実行します。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合に移動[Windows Communication Foundation (WCF) と .NET Framework 4 向けの Windows Workflow Foundation (WF) サンプル](https://go.microsoft.com/fwlink/?LinkId=150780)すべて Windows Communication Foundation (WCF) をダウンロードして[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプル。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Execution\ControllingWorkflowApplications` \ No newline at end of file diff --git a/docs/framework/windows-workflow-foundation/samples/xaml-activation.md b/docs/framework/windows-workflow-foundation/samples/xaml-activation.md deleted file mode 100644 index 839232c4eef..00000000000 --- a/docs/framework/windows-workflow-foundation/samples/xaml-activation.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: XAML アクティベーション -ms.date: 03/30/2017 -ms.assetid: 486760e2-bb10-4ed5-8c02-fe7472498d2d -ms.openlocfilehash: 8621b0ea7b390c81e76ac7eeedb0b547b44320d7 -ms.sourcegitcommit: 3d5d33f384eeba41b2dff79d096f47ccc8d8f03d -ms.translationtype: MT -ms.contentlocale: ja-JP -ms.lasthandoff: 05/04/2018 -ms.locfileid: "33517713" ---- -# XAML アクティベーション -このサンプルでは、宣言型ワークフローを IIS でホストする方法を示します。 このサンプルは、1 つの操作を持つ、`EchoService` という名前の基本的なワークフローです。 - -> [!IMPORTANT] -> サンプルは、既にコンピューターにインストールされている場合があります。 続行する前に、次の (既定の) ディレクトリを確認してください。 -> -> `:\WF_WCF_Samples` -> -> このディレクトリが存在しない場合は、ダウンロード ページに移動をすべて Windows Communication Foundation (WCF) をダウンロードし、[!INCLUDE[wf1](../../../../includes/wf1-md.md)]サンプルです。 このサンプルは、次のディレクトリに格納されます。 -> -> `:\WF_WCF_Samples\WF\Basic\Services\XAMLActivation` - -#### サンプルをセットアップ、ビルド、および実行するには - -1. [!INCLUDE[vs2010](../../../../includes/vs2010-md.md)] で XAMLActivation.sln ソリューションを開きます。 - -2. キーを押して、ソリューションをビルド**f5 キーを押して**です。 - -3. WcfTestClient.exe を実行します。 コマンド プロンプトで、次のコマンドを入力します。 - - 1. cd %SystemDrive%\Program Files\Microsoft Visual Studio 10.0\Common7\IDE - - 2. WcfTestClient.exe を実行します。 - -4. Ctrl キーと shift キーを押しながら A キーを押して、サービス アドレスに設定して WcfTestClient.exe でサービスのアドレスを設定http://localhost:56133/Service.xamlxです。 - -5. エコー操作を実行してサービスをテストします。 - -6. 管理者権限で実行したコマンド プロンプトから DeployToIIS.Bat を使用して、IIS にサービスを配置します。 - -7. クライアントにサービスのアドレスは更新http://localhost/XAMLActivation/Service.xamlxし、もう一度 WcfTestClient.exe を使用して、サービスをテストします。