2011-04-08 61 views
0

我有asp.net的Web应用程序。在我运行应用程序之后调用了application_Start。 如果我持有一个页面,并在几分钟后(约10-15分钟)重新加载(或回发)页面,我又失去了再次调用viewstate和sessionstate和application_Start。
如果我打开网站application_Start被调用,并且如果关闭浏览器并在几分钟后再次打开网站(如上所示),application_Start再次调用。它只发生在我的主机上。但在本地主机上却没有遇到这个问题。 这是从我的应用程序或从主机问题?我如何追踪问题?Application_Start()每次调用时,如果网站不使用,而

回答

2

听起来好像您的应用程序池正在被回收。阅读here获取更多信息(对于IIS6)或here(对于IIS7)。

+1

是的,这是正常的行为。你可能想看看使用状态服务器会话状态而不是inproc。状态服务器意味着会话存储在另一个进程中,或者在同一台服务器上或另一台服务器上,并且不存储在asp.net工作进程中,即如果应用程序池被回收,则仍然具有会话状态。或者,您可以使用SQL服务器会话状态,因为乔纳斯建议 – 2011-04-08 15:40:55

+0

这是正常的,如果您的应用程序在一段时间后没有收到任何活动,托管它的进程将终止,从而导致任何会话丢失。你可以使用SQL会话状态来解决这个问题,或者你可以增加工作进程的持续时间。 – Jonas 2011-04-08 15:41:40

+0

@Russ Cam:有没有办法改变这种行为?或者我应该这样离开它? – Raika 2011-04-08 15:42:14

相关问题