セッション Cookie を使用してデータを追跡する asp.net core 3.1 アプリケーションがあります。これは私の開発マシンでは完全に正常に動作していますが、Azure Web アプリにデプロイすると Cookie が設定されません。これを Azure で正しく動作させるには、何をする必要がありますか?
startup.cs には次のものがあります
services.AddSession(options =>
{
options.Cookie.HttpOnly = true;
options.Cookie.IsEssential = true;
});
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
...
app.UseSession();
...
}
次のようなコードで Cookie を設定しています。
session.SetString(_key, value);
構成に簡単な変更を加える必要があると思いますが、それが何なのかは一生わかりません。
------------------------
私の知る限り、Azure Web アプリは A を使用します。デフォルトでは RR です。ARR アフィニティが有効になっていることを確認してください。
ARR アフィニティが有効な場合、ロード バランサとして機能する IIS サーバーは応答に Cookie を配置し、ユーザーがセッション内で常に同じインスタンスにアクセスするようにします。レガシー アプリケーションは負荷分散を考慮して設計されていない可能性があるため、これは互換性にとって適しています。
Azure Web アプリ サービスを開いて構成を見つけることができます -->一般設定 --> ARR アフィニティをオンにします。
0