在“固定数量的请求”之后,IIS的应用程序池设置对回收再循环有什么影响?
假设这个数字是100,并且第99个人连接到我的网站,那么第100个人来了并将触发应用程序池回收。
这是否意味着会话1-99的所有会话信息都将丢失(进程内会话将在应用程序池工作进程重新启动时到期)?
答案 0 :(得分:4)
你基本上是正确的,但不是那个人,而是请求。在您的应用程序上调用的每个aspx页面都会累加,当达到阈值时,应用程序池将被回收,应用程序域(如果您使用.Net)被卸载并且所有内容都会重新启动。您丢失了会话,应用程序和任何静态变量。如果你使用经典的asp或php,那么每个会话和全局变量都会丢失。
许多点击阈值有点矫枉过正。您应该禁用它或将其设置为一个庞大的数字。默认情况下,如果我没记错的话,如果没有请求,IIS6应用程序池每15分钟回收一次,您还可以在应用程序用于触发回收的总内存上设置阈值。
答案 1 :(得分:3)
这是非常正确的。如果您不使用某种会话场或会话信息的数据库支持,则在回收应用程序池时它将丢失。我建议尽量不要求任何会话信息 - 这将使您的应用程序更具可扩展性和可靠性,因为它更贴近底层HTTP的无状态特性。