複数のサーバーを使用しているときに、Azure Cloud Service Web ロールと Azure Web サイトの両方でホストされている場合に、サイトの MachineKey を設定する最善の方法を見つけようとしています。
私が見つけることができる提案された解決策がいくつかあるようですが、どれも私には正しくないようです。
- セッション アフィニティを使用する (Web サイトでは既定で有効)
- これはうまくいくかもしれませんが、回避策のように感じます。フェイルオーバーのために複数のサーバーを持つことを選択する理由ですが、これは、壊れたサーバーにアフィニティーを持つクライアントが他のサーバーに対して実行できないことを意味します。
- web.config 変換で machineKey を設定する
- これには、マシン キーをソース管理下に格納する必要があり、マシン キーを使用した暗号化の目的が無効になります。
- マシンキーに依存しているので、気にしません。
- 依存関係は、ASP.NET の内部で知らず知らずに使用されているため、見落としがちです。また、ほとんど使用されていないか、既にサーバー アフィニティ (Web サイトでは既定でオン) があるため、問題があることに気付かない場合があります。
私は何かが足りないと感じているか、分析麻痺に苦しんでいるのかもしれません。