質問: wcfでのセッションの使用 ServisインスタンスをPer SessionまたはSingleとして設定した場合、セッション中のサービスインスタンス間でいくつかのデータを送信できますか? Asp.netセッションで実行する必要があります - HttpContext.Current.Session またはwcfには独自のセッションがありますか?
回答: 私が言ったように - WCFはASP.NETではなく、そのセッション処理は大きく異なります。 ASP.NETセッションとWCFセッションは同じように呼び出されますが、その目的と有用性は大きく異なります。 詳細については、MSDNのページの WCFでのセッションの使用を参照してください。 *WCFセッションに関連付けられた一般的なデータストアはありません。* - 答えは「いいえ」です.WCFのセッションは、データ保存用ではありません です。 WCFセッションは、複数のメッセージを会話に「結びつける」だけのものです。既定では、 "per-call"モデルでは、各WCFサービス要求は、要求を処理するために独自にインスタンス化された新しいサービスクラスインスタンスを取得し、そのサービスクラスインスタンスは応答を返した後に解放されます。セッションを使用すると、これを回避できます。セッションの最初の呼び出しを処理するサービスクラスインスタンスは、サーバー側で有効な状態を維持し、サーバー上のメモリを占有し、同じセッション内の後続のすべての要求を処理します。 WCFとWebサービスは一般的には**ステートレス**であることが望ましいので、セッションは適切なSOA環境では奇妙なアーキテクチャです.WCFのセッションもASPほど有用ではない.NETセッションはWebアプリケーション向けです。 ステートレス状態を維持し、コールごとの方法(推奨されるベストプラクティス)をサポートするには、コール間でデータを格納する必要がある場合は、永続ストア(データベースなど)に格納し、後で必要に応じてそこからフェッチします。