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

时间:2015-06-09 04:18:12

标签: c# asp.net asp.net-mvc webforms cloud-hosting

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

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

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

所以我的问题是

  • 如何使其适用于云托管
  • 一种方法是使用基于MS Sql Server的会话管理
  • 我还需要考虑将其用于云托管

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

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

开始

2 个答案:

答案 0 :(得分:0)

您需要使用跨越服务器的会话状态提供程序。 例如一个使用App Fabric(或其他缓存提供程序)或Sql Server

答案 1 :(得分:0)

对于分享会话,您有两种选择:
1.粘性会话,最容易实现,因为代码中没有更改,但您将无法自动缩放(根据负载添加或减少计算机数量)。这只是负载均衡器上的设置,因此您需要检查云提供商的负载均衡器是否具有此功能。

2.在proc会话期间,我建议使用ASP.NET Redis会话提供程序(由Microsoft支持)。 AWS和Azure都将Redis作为服务提供,因此很容易入手,您不需要考虑其管理。最重要的是proc将意味着一些代码更改,至少标记您的课程作为Serilizable进行会话,但您将能够自动缩放。