通过默认本届会议期似乎是20分钟。

更新:我不想会议到期,直到浏览器是封闭的。

Update2:这是我的情况。用户登录到网站上。扮演周围的网站。叶子计算机去淋浴(>20分钟;)).又回到了计算机和 应该 可以玩耍。他关闭浏览器,这删除届会议的cookie。下一次,他来到网站,从一个新的浏览器实例,他会需要再次登录。

在PHP我可以组会议。cookie_lifetime在php.ini零实现这一点。

有帮助吗?

解决方案

如果你想要延长届会议超过20分钟,你改变了默认使用IIS管理或者你可以把它设置在网络上。配置文件。例如,为设定的超时60分钟在网上。配置:

<configuration>
  <system.web>
    <sessionState timeout="60" />
    ... other elements omitted ...
  </system.web>
  ... other elements omitted ....
</configuration>

你可以这样做于一个特定的用户代码:

Session.Timeout = 60

无论选择哪种方法,可以改变的超时的任何价值的你认为是合理的,以允许用户可以做其他的事情仍然保持他们的会话。

也有缺点的课程:对用户有可能的安全问题而使他们的浏览器人参与的并具有它仍然记录在当别人开始使用它。你有问题存储器使用的服务器更长的届会上,更多的记忆你会被使用在任何一个时间。不论该事项取决于加载服务器上。

如果你不想猜测一个合理的延长时间超时,则需要使用其他技术,已经建议的,需要一些JavaScript运行浏览器中的平服务的定期和/或放弃本届会议时,页面被卸载(提供用户不会到另一个网站上的网页,然)。

其他提示

你可以设定一个短会议时间超时(例如5分钟),然后得到的页面查询服务器定,无论是通过使用Javascript火一个程序每次2分钟,或通过具有隐藏的框架,它指向一个网页,其中刷新本身每次2分钟。

一旦浏览器关闭,本届会议将超时之后很快会有什么让它活着。

这不是一个新问题,也有几种情况,必须处理的如果你想抓住所有的方式一届会议可以结束了,这里有一般性例子中的一些人:

  1. 浏览器实例或标签被关闭。
  2. 用户导航离开你的网站使用的同一浏览器的实例或标签。
  3. 用户失去了自己的连接到互联网(这可以包括电力损失,用户的计算机或任何其他装置)。
  4. 用户步行距离计算机(或其他某种方式停止交互网站)。
  5. 服务器失去电力/重新启动。

前两个项目必须由客户发送信息的服务器,通常将使用javascript导航的一个注销页很快到期的会议。

第三和第四项通常是由设置该届会议的状态下超时(可以将任何金额的时间)。量的时间使用的基础上寻找一个价值,使用户可以使用你的网站没有压倒性的服务器。一个非常粗略的经验法则可以是30分钟,再加上或减去10分钟。不过适当的价值可能会成为另一个员额。

第五项是处理基于你们如何储存你的会议。会议存在的状态不会生存的一个重新启动,因为它们是在计算机的内存。会议存储在数据库或cookie会生存的重新启动。你可以处理这个你认为合适。

在我有限的经验时,这个问题已经到来之前,它已经确定,只要设定会议时间超时到一个可接受的价值是所有的需要。然而它可以做到的。

这是默认。当你有一个会议,它存储届会议在a"Session Cookie",这是自动删除当浏览器是封闭的。

如果你想拥有在届会之间的2浏览器届会议,必须设置的Cookie。过期日期在的特征。

因为你届会议谈论的是储存服务器上,并不客户你不能做你想要什么。

但是,考虑不使用ASP.NET 服务器侧届会议,而不是仅仅依靠饼干。

不幸的是,由于明确性质的网,事实上没有永久性之间的链接的网站服务器和一个用户浏览器这是不可能告诉一个用户已经关闭他们的浏览器。有事件和JavaScript其中可以实施(例如onunload)可用于地方电话回服务器,而这又可能'杀死'了会话 Session.Abandon();

你可以设置的超时长度的一届会议在网络。config,记住这一点超时是基于自最后一次呼叫服务器放置的用户浏览器。

浏览器timedout没有增加。

有没有办法到明确清楚的话,如果你不进行通信以某种方式之间的客户和服务器在窗口关闭,所以我希望发送一个特殊的URI请求清除届会议在收到一窗口关闭的信息。

我Javascript是不够好给你的实际说明来做到这一点;遗憾:(

你不能,你不可能控制如何html客户响应。

实际上,为什么你需要这样做吗?只要没有人可以捡届会议再次使用,它将过期之后,20分钟。如果资源的问题,设置一个更积极届会议期(最托管公司这样做,这是极其恼人)或使用较少的物体在开会。尽量避免任何种类的对象,而不仅仅是商店的钥匙,用于检索,这是一个非常重要的设计因为它可以帮助你你的规模届会议以一国服务时得到大。

纠正我,如果我误读的意图,你的问题,但根本问题似乎不在于如何迫使本届会议结束时,用户关闭浏览器以及更多关于如何防止一届会议结束直至浏览器是封闭的。

我认为真正的答案是重新评估你是什么使用会议做。如果您使用的是他们保持状态,我赞同其他答复,你可以走运。

然而,一个优选办法是使用一个持续不断的国家机构有同样范围如浏览器届会议,例如cookie expires当浏览器是封闭的。那cookie可能只包含足够的信息,以重新发起的会议服务,如果它已经过期,因为最后一个请求。结合一个相对较短期(5-10分钟)会议的时间超时,我认为这给你之间的最佳平衡服务资源的使用和不使用户不断地"重新启动"网站。

哦你必须改写这一问题。

这个绝对是可行的,只要javascript是活的。使用任何时阿贾克斯会怎么做。检查原型图书馆 http://www.prototypejs.org PeriodicalExecutor或jQuery与阿贾克斯+计时器插件。建一个虚拟的网页,其中您的执行者将呼叫的时间,所以你的话总是活着,除非如果他注销(杀死阿贾克斯在定时器相同的时间),或者接近浏览器(这意味着执行人被杀害,无论如何)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top