2011-05-23 12 views
1

私は新しいwcfです。明確な説明が必要な場合は、単一のプロジェクトで複数のWCFサービス(セッションモードごとにservice01-service05を想定しています)を使用しています。 service01を呼び出し、service02などを呼び出すと、単一のセッションまたはsession01、session02(各サービス別のセッションごとに)などが作成されます。複数のWCFサービス間でのセッション

マルチセッションを呼び出す際に、セッションが別の場合、1つのセッションに対して何をするか。

答えて

2

1つのセッションPER WCFサービスインスタンスが存在します。 WCFはセッション状態をメモリに保持し、プロキシごとにサービスエンドポイントごとにそれを管理します。

これは、呼び出しごとに新しいプロキシインスタンスを強制終了して再作成すると、セッション状態が失われることを意味します。

+0

私はそれを持っていますが、私は複数のサービスのための単一のセッションを維持したい場合、私は何をすべきですか?機能を実現するには、複数のサービスを作成する方が良いでしょう。私の大きな関心事は今や大規模です。 – user765573

+0

WCFはプロキシごとにサービスエンドポイントごとにセッション状態を管理するため、複数のサービスに対して単一セッションを維持することはできません。複数のサービスを持つということは、複数のエンドポイント(サービスごとに少なくとも1つのエンドポイント)を持つことを意味し、したがって複数のサービスはセッション状態を共有できません。 可能なことは、セッションデータではなくDBまたはキャッシュメカニズムでのストア状態で、サービスメソッド呼び出しでセッションIDを渡すことです。セッションデータを整理する方法が必要です。 –

関連する問題