MultiRunUnits デモンストレーションの実行

デモンストレーションを実行するには、次の操作を行います。

  1. Web サイトを開き、デフォルトで %PUBLIC%\Documents\Micro Focus\Enterprise Developer\Samples\MultiRunUnits に置かれているデモ ファイルをブラウズします。
  2. Web サイトをビルドします。
  3. [デバッグ] > [デバッグなしで開始] をクリックし、次に service.asmx をクリックして Web サービスを開始します。
  4. 同じようにして、2 つ目の Web サービスを開始します。
  5. 両方のブラウザで [AddTwoNumbers] をクリックします。
  6. 片方のブラウザで、1 番目の演算子 op1 に 1 を入力し、2 番目の演算子 op2 に任意の数値を入力します。
  7. もう一方のブラウザで、各フィールドに 1 以外の演算子を入力します。

データが誤って共有されていることを確認するため、両方のブラウザの「UsingMultiRunUnits」フィールドに False と入力します。1 を入力したブラウザで [起動] をクリックし、次にもう一方のブラウザでも [起動] をクリックします。最初は正しい結果が返されますが、次に返される結果は最初の結果と同じになり、正しくありません。理由は次のとおりです。

  1. 最初のインスタンスが、デフォルトの実行単位を作成し、その実行単位にデータを送り、待機します。
  2. 2 番目のインスタンスは、同じデフォルトの実行単位を使用し、その際にデフォルトの実行単位のデータを上書きします。
  3. 2 番目のインスタンスが、2 つの数字を足して、正しい結果を返します。
  4. 最初のインスタンスは、待機を終えると、デフォルトの実行単位を使用して 2 つの数字を足しますが、それらの数字は 2 番目のインスタンスからの数字になっています。このため、最初のインスタンスは 2 番目のインスタンスの結果を返し、正しい結果でなくなります。

次に、もう一度デモンストレーションを行います。今度は、[UsingMultiRunUnits] フィールドに True と入力します。両方とも正しい結果が返されます。理由は次のとおりです。

  1. 最初のインスタンスが、専用の実行単位を作成し、その実行単位にデータを送り、待機します。
  2. 2 番目のインスタンスが、別の専用の実行単位を作成し、その専用の実行単位にデータを送ります。
  3. 2 番目のインスタンスが、2 つの数字を足して、正しい結果を返します。
  4. 最初のインスタンスは、待機を終えると、その専用の実行単位を使用します。そこで、正しい 2 つの数値を足し、正しい結果を返します。