私は、リクエストごとにCommunityPrincipal(IPrincipalインターフェイスを実装する)オブジェクトを作成するHttpModuleを持っています。私は何とかすべてのリクエストのためにオブジェクトを保管したいと思います。私はキャストをやっていなくても必要なときにいつでもそれを得ることができます。リクエスト中に同じオブジェクトにアクセス/使用する - asp.net
基本的には、私はFormsAuthenticationModuleの仕組みを模倣したいと思っています。 HttpContext.Userプロパティは、すべての要求に対してIPrincipalインターフェイスを実装するオブジェクトを割り当てます。
私は何とかHttpContext.MySpecialUser(またはMySpecialContext.MySpecialUser - 静的クラスを作成できます)を呼び出して、自分のオブジェクト(特定の型)を返すことができるようにしたいと考えています。
私は拡張メソッドを使うことができましたが、要求中にアクセスできるようにオブジェクトを格納する方法はわかりません。
これはどのように達成できますか?
特定の型(CommunityPrincipal - オブジェクトとしてではなく)として保存したいことに注意してください。 もちろん、現在のリクエストは処理され、他のすべてのスレッド/リクエストとは共有されません。
私は自分のCommunityPrincipalオブジェクトをHttpModuleのHttpContext.Userに割り当てますが、IPrincipalインターフェイスで定義されていないCommunityPrincipalオブジェクトでプロパティを使用する必要があるたびにキャストを行う必要があります。
ご返信ありがとうございます。 これも良い考えです。私は通常、コントローラまたはビューのsooで私はカスタムビューと私が継承することができるカスタムコントローラを作成することができますそれを使用します。ありがとう。 – MartinF