【问题标题】:Global.asax and web application lifetimeGlobal.asax 和 Web 应用程序生命周期
【发布时间】:2011-03-26 01:06:44
【问题描述】:

问题:当一个 web 应用程序启动时,它会执行 global.asax 中的 Application_Start。

现在,只要对应用程序中的页面的第一个请求到达服务器,Web 应用程序就会启动。

但我的问题是:应用程序将运行多长时间才能停止应用程序。 我的意思是在第一个页面请求之后,服务器上没有流量。

我需要知道,因为我打算启动一个侦听 global.asax 中的 tcp 端口的服务器。 当应用程序停止时,服务器停止监听其端口。

【问题讨论】:

    标签: c# asp.net vb.net iis web-applications


    【解决方案1】:

    一句话(很好 2)- 共享主机。

    在共享主机上要小心,(godaddy/webhost4life 等)此超时可能会更少,而且您无法在这些主机环境上配置它。我遇到过应用程序池在某些偷看时间 5 分钟后被回收的情况,因此您可能需要调查“唤醒”例程来戳您的应用程序以保留在内存中。我使用 pingalive.com 为一些共享托管应用程序执行此操作,效果非常好。

    希望这会有所帮助,即使是以抽象的方式。

    吉姆

    【讨论】:

    • 基本上 - 它没有回答我的问题 - 但 pingalive 解决了根本问题 ;-))
    • 困惑 - 很高兴能得到帮助。我实际上一直在 SO 上发现这一点 - 即回复没有回答我的问题,但确实解决了这个问题。这有点神奇:) - 再次欢呼
    【解决方案2】:

    这取决于您的 IIS 设置。您的应用程序将在一个应用程序池中运行,它需要一系列设置来定义该池的行为。

    您要查找的是回收设置。在 IIS 7 中,您可以从管理控制台轻松访问这些内容。进入Application Pools,右击你的应用运行的应用程序池(如果你不知道是哪一个,那么它可能是DefaultAppPool)并选择回收。

    您可以在此处找到控制应用程序池回收行为的选项,这反过来又控制您的应用程序“重置”的时间。

    【讨论】:

    • 好。所以现在我使用 pingalive 让它保持活力 ;-))
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    相关资源
    最近更新 更多