-2

私は WCF サービスを持っており、PerSession モードと同時実行モードで Multiple を使用したいのですが、使用中にシングル スレッドで新しいサービス インスタンスを取得しています。以下に、テストした結果を示します。

セッションごと/同時実行モード - 複数 ============== キュー名:1111、作成されたサービス CallServ インスタンス:1、およびスレッド:19 時間:4/6/2012 4:01:55午後==============

============== キュー名:1111、作成されたサービス CallServ インスタンス:2、およびスレッド:19 時間:4/6/2012 4:01:59 PM====== ========

============== キュー名:1111、作成されたサービス CallServ インスタンス:3、およびスレッド:19 時刻:4/6/2012 4:02:03 PM====== ========

============== キュー名:1111、作成されたサービス CallServ インスタンス:4、およびスレッド:19 時間:4/6/2012 4:02:07 PM====== ========

============== キュー名:1111、作成されたサービス CallServ インスタンス:5、およびスレッド:19 時間:4/6/2012 4:02:11 PM====== ========

PerCall /同時実行モード - シングル

============== キュー名:10006、作成されたサービス CallServ インスタンス:1、およびスレッド:13 時間:4/6/2012 2:06:22 PM====== ========

============== キュー名:10006、作成されたサービス CallServ インスタンス:1、およびスレッド:13 時間:4/6/2012 2:06:26 PM====== ========

============== キュー名:10006、作成されたサービス CallServ インスタンス:1、およびスレッド:13 時間:4/6/2012 2:06:30 PM====== ========

============== キュー名:10006、作成されたサービス CallServ インスタンス:1、スレッド:13 時刻:2012 年 4 月 6 日 2:06:34 PM====== ========

============== キュー名:10006、作成されたサービス CallServ インスタンス:1、およびスレッド:6 時間:4/6/2012 2:06:38 PM====== ========

PerCall 同時実行モード - 複数 ============== キュー名:10007、作成されたサービス CallServ インスタンス:1、およびスレッド:6 時間:4/6/2012 2:08:32 PM= =============

============== キュー名:10007、作成されたサービス CallServ インスタンス:1、スレッド:6 時刻:2012 年 4 月 6 日 2:08:36 PM====== ========

============== キュー名:10007、作成されたサービス CallServ インスタンス:1、およびスレッド:6 時刻:2012 年 4 月 6 日 2:08:40 PM====== ========

============== キュー名:10007、作成されたサービス CallServ インスタンス:1、スレッド:6 時刻:2012 年 4 月 6 日 2:08:44 PM====== ========

============== キュー名:10007、作成されたサービス CallServ インスタンス:1、スレッド:6 時刻:2012 年 4 月 6 日 2:08:48 PM====== ========

解決策を教えてください。

前もって感謝します。

4

1 に答える 1

1

PerCall インスタンス化では、各メッセージが新しいサービス インスタンスによって処理されるため、同時実行性は関係ありません。

セッションのインスタンス化では、並行性が重要です。複数の同時実行の場合、スレッドセーフなコードを記述する必要があります。コードを共有してください。

于 2012-04-06T13:54:24.657 に答える