2011-03-05 4 views
2

私は次のレイヤー(またはC#プロジェクト)を持つアプリケーションアーキテクチャを持っています。Asp.netのmvc - wcf - BLL - Nhibernateリポジトリのためのセッション管理の最適なオプションは何ですか?

  1. ウェブフロントエンド(のasp.net MVC2)
  2. サービス層(通常のC#クラスライブラリ)
  3. データ層(
  4. モデル層(エンティティ、サービスおよびリポジトリのインターフェイスを持つ通常のC#クラスライブラリ) BLLで定義されたリポジトリインタフェースを実装し、NHibernateを使用します)

ISessionは、httpリクエストごとに開かれています。

今、現在のサービスレイヤーの上にwcfレイヤーを追加したいと思います。 wcfプロジェクトは、元のサービスレイヤクラスを明示的に呼び出します。しかし、私がこれを行うとすぐに、asp.netのセッション/セッションファクトリは使用不可/使用不可能になります。 wcfはasp.netとはまったく異なるコンテキストで動作しているようです。そこで、セッションファクトリとセッション管理をinitinializingするロジックをwcfに移したいと思います。私はどうすればいいのですか?それ以前にもそれは良い習慣ですか? wcfを追加したい理由の1つは、操作を他のアプリケーション(httpベースではないかもしれない)に公開したいからです。

ヘルプ、ブログ投稿、書籍の参考情報は大変ありがとうございます。

答えて

1

使用ごとのコールインスタンス化。チェックthis article現在のインスタンスコンテキストにSessionを添付する属性を作成する方法を説明します。

+0

ありがとうLadislav。これは私を助けてくれました。それは私がそれを望むのとまったく同じではありませんが、私はその代替法も知らないのです。再度、感謝します。 – Suman

関連する問題