2012-03-09 13 views
0

私の友人はここに尋ねたquestionASp.net IRequiresSessionStateとIReadOnlySessionStateを処理する状態サーバー?

そして、彼に答えた人は面白い何かを書いた! (何の証拠もなく、ソース)。

アウトオブプロセスセッション ステートストレージを使用している場合は、それが大きな違いになります。この場合、インターフェイスなしでは、 が変更されていなくても、 はセッションデータをリモートデータベースに保存します(要求中にセッション データが変更されたかどうかはシステムが把握しません) 。 IReadOnlySessionStateインターフェイスを使用すると、ライトバックフェーズはスキップされます。

ここで、IRequiresSessionStateはセッションを書き戻すと言いますか?

説明は喜んで除外されます。

答えて

2

は、この効果に正式なドキュメントを見つけることが、dotPeek(またはいくつかの他の逆アセンブラ)をアップ発射とSystem.Web周りを見て持つことは連続していることを明らかにすることはできません:ハンドラがIRequiresSessionStateを実装している場合

  • HttpContext.Handlerは、setです、HttpContext._requiresSessionStateFromHandlertrueと設定されている。
  • この後者は、getHttpContext.RequiresSessionStateに通知します。
  • SessionStateModule(私は推測していますゴングモジュールパイプラインに常にある)、そのEndRequestハンドラでは、HttpContext.RequiresSessionStateをチェックし、それがtrueだ場合は、状態を保存するためにセッション状態プロバイダに話しています。
+0

+1素晴らしい研究、ありがとう! – tsemer

関連する問題