繁体   English   中英

Web Host的设置奇怪,需要其他会话状态建议

[英]Web Host has strange settings, need alternative session state suggestions

我正在为体育俱乐部建立一个网站。 俱乐部不希望将其托管服务移至其他网络托管服务商,因此我对当前的托管服务商感到困惑。 我将新的Web应用程序部署到主机上,但是经过几个小时的测试,很明显在登录名和会话状态方面有些奇怪。

每当我闲置超过10分钟时,我的MVC验证令牌突然就会停止解密。 我进入IIS并将机器密钥设置为静态值,此问题消失了,但是很明显,他们将ASP.NET空闲超时设置设置为10分钟。 这意味着,如果站点上没有任何活动,则每10分钟InProc会话数据将被破坏。 我向主机提交了支持票,但他们不愿意在我的应用程序池中为我更改该设置,并指出“目前无法在服务器上更改该设置,因为增加此设置可能会影响性能(原文如此)服务器”。

俱乐部有点小,最多只有500个俱乐部成员,而且很少有成员会经常访问该站点,因此我可以保证10分钟超时每天会发生多次,并且我有会话超时设置为60分钟,因此,如果网站的唯一用户在给定时间闲置10分钟,则最好进行网站畅通会话。

我的第一个想法是使用SQL会话存储。 我从未使用过它,但我知道它存在。 但是,存在一个警告,就是我们只能使用350mb的SQL存储。 尽管这可能超出该站点目前所需的容量,但我想我们可能会接近极限。 我预计不会在会话中存储大量数据,与Paypal和购物车进行交互时仅存储少量内容(可能在此处或在此处显示系统消息),所以这不是一个大问题吗?

我们确实有无限的磁盘空间,所以我想到的另一种选择是编写一个基于磁盘的自定义会话存储解决方案。 有什么原因可能不是SQL更好的主意吗?

最后,我有了一个完全不合时宜的“哦,天哪,我不敢相信我正在考虑这样做”的想法,那就是定期(例如每8分钟)在每个页面上进行一次AJAX调用” ping”非缓存的轻量级MVC操作只是为了保持服务器的活动状态。 我认为,这可能会起作用,但以下情况除外:

  1. 转到购物页面并创建购物车
  2. 被转移到贝宝
  3. 无论出于何种原因,花了10分钟以上的时间在贝宝屏幕上,而网站上没有其他人
  4. 回来看到他们的购物车消失了。

在这种情况下,无论如何我可能只是将购物车移至数据库。

那么...的想法,评论和建议? 我真的对主持人不让我更改此设置感到沮丧,而我的本能是寻找另一个主持人,但是正如我之前所说,俱乐部对主持人有一些陌生的依恋,并且不想搬到其他地方。

提前致谢!

一些想法:

问题所在:会话在负载平衡系统上“丢失”是很常见的。 可以通过移动到单个指定服务器来解决此问题(如果托管公司现在不这样做,并提供选项

Cookie会话:如果您使用的是.Net Membership,则可以将登录过程更改为使用Cookie。 显而易见, 有些用户不允许cookie陷阱。 再次考虑。 当前在学校网站上工作,他们希望用户保持登录状态。

**使用Cookies,您的登录名是稳定的,但是您的会话将不会得到更好的保留。 因此,您很不走运,可以在会话状态中发挥更大的作用。

最终结果是您可以通过IP或Cookie跟踪用户,但是除非这是一个可修复的负载平衡问题,否则您将转向无会话应用程序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM