2

私は MVC3 プロジェクトと SQL Azure データベースに取り組んでいます。複数のインスタンスをデプロイすると、セッション変数に問題が発生します。

より明確にするために、テーブルの結果をセッション変数に保存し、結果をモデルに渡します。ユーザーは「保存」ボタンをクリックするまで、データを変更および操作できます。

ユーザーが [保存] をクリックすると、モデルから新しい値を取得し、それらを BLL および DAL レイヤーに渡してデータベースを更新します。

これが正しい解決策かどうかはわかりません!! ただし、データが変更されるたびにクライアントがデータベースにアクセスするわけではありません。

助けてください。

4

1 に答える 1

8

あなたが経験している問題は、セッション データがサーバー上にローカルに保存されているという事実によるものです (これは ASP.NET によって InProc と呼ばれます)。複数のインスタンスを使用している場合、このデータはインスタンス間で共有されません。これを達成するには、いくつかの選択肢があります。

  • セッション データを SQL Azure データベースに格納します。
  • セッション データを Azure のテーブル ストレージに格納します。
  • セッション データを Azure のキャッシュ サービスに格納します (おそらく最も高速ですが、最も高価です)。

ここにいくつかの詳細情報があります: http://acloudyplace.com/2012/02/managing-session-state-in-windows-azure-what-are-the-options/

于 2012-05-27T16:46:21.637 に答える