2011-01-20 13 views
3

ASP Classic WebサイトをASP.Netに移行しています。大きな課題の1つは、ASP Classic WebサイトでSessionStateに保存されている大量のデータです。asp.netとasp.netの間でセッション状態を共有することは可能ですか

セッション状態を2つのアプリケーション間で共有できる方法を探しています。私は共有データベースとのセッションを共有する方法を説明しているMicrosoft MSDNから次のリンクを見つけました。残念ながら、バイナリフォーマッタを使用してデータベースにシリアライズしています。私は最近、このバイナリのシリアライゼーションに関するいくつかの悪い経験をしています。

セッション状態を共有する方法について他に提案がありますか?またはバイナリシリアル化の代替?

+0

http://www.eggheadcafe.com/articles/20041017.asp自分で試したことはありません。 – Tim

答えて

4

リンク先のMSDN記事が最適です。あなたはクッキー、隠しフォームフィールド、クエリーストリングパラメータ、またはその他の "回避策"を使用することができますが、それらのすべてがハッキングであり、すべてが問題を抱えています(セキュリティ上の懸念、ちょうど正しく機能しない、など)

0

私たちはいくつかのサイトでこれを行う必要がありました。私が知る限り、簡単な方法はありません。

少量のデータしか持っていない場合は、そのデータを(Rijndaelのような安全な方法を使用して)暗号化し、URLを通過させて反対側で解読します。暗号化された値にdatestampのようなものを含めることで、リンクが3秒間などのように良好であることを保証することができます。

さらにデータがある場合は、それをデータベースに格納し、前述のようにURL内のそのデータにIDを渡します。同じプロセス。

幸運。

編集:私は他のポスターのように指摘していることに注意してください、だけでなく、MSDNの記事べきで、これは最も理想的なシナリオではなく、おそらくセキュリティの観点から、防弾ではありませんが、近くにあります。

関連する問題