在asp.net中,默认的会话超时时间为20分钟。假设我将会话超时时间更改为2小时或更长,那么这是否会导致服务器端的性能问题?
我想知道在asp.net中使用最大会话超时时间是否有任何限制或不利影响?
请指导我解决这个问题?
我想知道在asp.net中使用最大会话超时时间是否有任何限制或不利影响?
请指导我解决这个问题?
对于每个用户,会话在服务器上保持。增加会话超时时间将防止服务器释放分配给非活动会话的内存。
我想知道在asp.net中使用最大会话超时时间是否有任何限制或缺点?
Timeout属性不能设置为大于525,600分钟(1年)的值。默认值为20分钟。
缺点:如果您有大量用户,并且增加会话超时时间,则您的非活动会话将保留在Web服务器内存中,这可能导致应用程序池重启,从而导致所有用户的所有会话都丢失,进而影响性能问题。
如果您正在使用IIS6或更高版本,则根据应用程序池设置的不同,可能会影响w3wp进程的回收频率。当应用程序池被回收时,除非您使用外部进程会话状态管理或将SQL作为会话状态主机,否则您的会话将丢失。
如果您将超时时间增加到两个小时,则个别用户不会经常失去其会话,但这会增加所有浏览站点的用户偶尔在进程被回收时注销的几率。
machine.config
文件中设置该值来阻止您,这将优先考虑,您需要使用SQL Session来实现,并且您可以自由更改超时时间。
他们还通常定期重新启动AppPool以解除任何可能阻塞其他网站的恶意或不良代码,每次AppPool重新启动时,所有会话都会消失(当然,如果您使用SQL会话,则不会)...
另一方面,如果您自己托管Web应用程序,除了内存大小之外(请记住,我假设您正在使用用户会话,正如名称所示,是每个用户,每个应用程序您将使用应用程序会话)。 如果您考虑此内存增加,那么没有任何东西,甚至性能也不会减少。