私は、フォーム認証を使用するAzureにRIAサービス対応のSilverlight Businessアプリケーションを導入しました。Azure Webロール間でフォーム認証セッションの状態を維持する方法は?
Azureでフォーム認証を有効にするには、Azureツールキットからテーブルストレージプロバイダを実装しました。それはほとんど動作しますが、私はセッションの状態を維持することに問題があります。ログインした後、F5キーを繰り返し押してページを更新すると、ログインしてログアウトするかどうかを切り替えることができます。
私は2つのWebロールインスタンスを持っていますが、いずれかを無効にしても魅力的です。しかし、私が2番目のインスタンスを有効にするとすぐに、この散発的な動作に戻ります。ロードバランシングのために状態が保持されないことは明らかです。セッションプロバイダを実装するのを忘れてしまったので、私はしました:
<sessionState mode="Custom" customProvider="TableStorageSessionStateProvider">
<providers>
<clear />
<add name="TableStorageSessionStateProvider"
type="Microsoft.Samples.ServiceHosting.AspProviders.TableStorageSessionStateProvider"
applicationName="AppAdmin"
/>
</providers>
</sessionState>
悲しいことに、それは助けになりませんでした。
更新:実際のテーブル(セッション)はテーブルストレージに作成されますが、データはありません。
アイデアや提案はありますか?
web.configでマシンキーを設定しましたか? –
@Ben、確かに私はそれを持っていませんでした。参照してください:http://social.msdn.microsoft.com/Forums/en-US/windowsazuredevelopment/thread/f405bfdf-80b7-476a-81f9-a853455c5926答えとしてコメントを入れて、私は正しい答えとしてマークします。 –