如何在基于asp.net webform的网站中处理云托管上的会话管理

本文关键字:处理 管理 会话 网站 asp net webform | 更新日期: 2023-09-27 17:54:21

假设我有一个在。net 4.0框架上用asp.net webforms开发的网站,需要迁移到像rackhosting这样的云托管上。

该网站目前使用asp.net默认成员身份进行用户管理,并使用几个会话变量来存储临时变量。

本网站托管在内部托管的专用服务器上。

我的问题是
  • 如何使其在云托管上工作
  • 一种方法是使用基于MS Sql Server的会话管理
  • 我还需要考虑什么才能使它在云托管上工作

我没有云托管的经验,因为人们会对服务提供商提供的云托管架构感到困惑。微软Azure,亚马逊等。

任何指向好文章和代码示例的指针都可以从

如何在基于asp.net webform的网站中处理云托管上的会话管理

开始。

您将需要使用跨服务器的会话状态提供者。例如,使用App Fabric(或其他缓存提供商)或Sql Server

对于共享会话,您有两个选项:
1. 粘性会话,最容易实现,因为不需要修改代码,但无法自动扩展(根据负载增加或减少机器数量)。这只是您的负载平衡器上的一个设置,因此您需要检查云提供商的负载平衡器是否具有此设置。

2. 进程之外的会话,这里我建议使用ASP。. NET Redis会话提供程序(由Microsoft支持)。AWS和Azure都将Redis作为服务提供,所以它很容易上手,你不需要考虑它的管理。最重要的是,进程外将意味着一些代码更改,至少将会话中的类标记为可序列化的,但您将能够自动缩放。