如何解决.Net核心会话Cookie部署到Azure时未设置
我有一个使用会话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应用将默认使用ARR,您应确保已启用ARR关联。
如果启用了ARR Affinity,则充当负载平衡器的IIS服务器将在响应上放置cookie,这将导致用户始终在其会话中命中同一实例。这对传统应用程序兼容性很有好处,因为它们可能在设计时就没有考虑负载平衡。
您可以打开Azure Web应用程序服务并找到配置->常规设置->启用ARR关联性。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。