しばらくの間、単一のインスタンスで実行されていた Web ロールがあります。より高い負荷に対処する (そしてより良い SLA を取得する) ために、現在、ロールを移行して複数のインスタンスをサポートしています。
ロールはフォーム認証を使用し (カスタム メンバーシップ プロバイダーを使用)、インスタンス間である種の共有セッション状態を有効にする必要があることを理解したので、ユーザーがインスタンス 1 にサインインして.ASPXAUTH
Cookie を取得すると、インスタンス 2このクッキーについて知っています。
私たちはそれを行い、現在、ロールは 2 つのインスタンスで実行されており、すべてがうまく機能しています。サインインしたインスタンスとは別のインスタンスでリクエストが処理された場合でも、ユーザーがサインインしたままであることをテストしました。ユーザーがサインインしない場合、アクセスは拒否されます。
TableStorageSessionStateProvider
また、Azure Table Storage アカウントにテーブルが作成されているかどうかも確認しました。実際、、、および列を含むテーブルSessions
があります。PartitionKey
RowKey
Timestamp
しかし、驚いたことに、Sessions
テーブルは常に空のままです。サインインしているユーザーの数に関係なく、テーブルにはデータがありません。
Sessions
テーブルを経由しない場合、これらのインスタンスはどのように通信できますか?