2009-03-10 54 views
1

私たちはASP.NETで動作するフレックスアプリケーションを持っています。 (weborbを介して)。 そして、.NET側でいくつかのデータを使用してデータをロードします。例:UserId、ChannelId、... 現在、useridのみがHttpContext.Current.Identityの名前に格納されています。 フレックス側では常にユーザーIDを押す必要はありませんが、今度はchannelidの「プッシュ」も無効にしたいと考えています。ASP.NETでセッションデータを保存するにはどうすればよいですか?

私はこれらのデータをどこに保存するのかと思いました。 セッションが十分に保存されているか、クッキーを使用する必要がありますか?またはこの「問題」のための他の方法がありますか?

答えて

7

Sessionを使用することをお勧めします。その値はサーバーに保存されます(クッキーはクライアントに保存されるため)。また、静的クラスを使用し、そこでセッションをラップします。

代わり

Session["channelid"] = ChannelId 

使用

SessionManager.ChannelId = ChannelId 

、あなたがセッションを使用する静的プロパティと静的クラスとしてSessionManagerを宣言することができます。私はこれが一般的なマイクロソフトの実践であると信じています。

乾杯

1

セッションはこれに適しています。あなたが非常に多数の同時ユーザーに拡大縮小する必要がなければ、それほど嫌悪感はありますが、セッションごとにこのような少量のデータを避ける理由はありません。

Cookieはオプションですが、データがクライアント側に保持されていることを意味します。これは望ましくない可能性があり、サーバーに送信されるすべての要求が大量になります。

0

userIdとchannelIdなどの整数値を格納する場合に限り、私はセッションを優先しますが、これらよりも多くのデータを持ち、かなりの数の同時セッションが可能な場合はセッションが可能です少し重い。

関連する問題