【问题标题】:ASP.NET Application Restarts Too MuchASP.NET 应用程序重启次数过多
【发布时间】:2009-04-29 07:03:00
【问题描述】:

我有一个 ASP.NET 网站,它每天每 1-2 小时重新启动一次,因此会话和其他事情都消失了,用户对此感到不满,因为他们打开一个页面并做了 20 分钟的事情以及提交时它,有一个很好的“我们很抱歉”页面。

我没有做任何重启应用程序的事情(更改 web.config、更改文件,甚至是其他错误的事情,例如删除 App_Data 中通常不会导致重启的文件夹)。

会不会和服务器的硬件有关?威力不大。

【问题讨论】:

  • 我将 Sessions 从 InProc 移至 StateServer,因此回收不再是问题。还调整了应用程序的某些部分以使用内存。由于编写托管代码,我不习惯过多关心资源,但从现在开始我会关心。

标签: asp.net


【解决方案1】:

我猜这是recycling。

【讨论】:

    【解决方案2】:

    默认情况下,IIS 中的应用程序池会被回收 - 无论是在超时之后,还是在“n”次点击之后。

    这是意料之中的,并且是正常处理的一部分(尽管可以在应用程序池配置中禁用它;IIS6 | IIS7)。

    这会破坏您的应用程序这一事实表明您正在使用很多东西,例如内存会话。考虑将这些移动到数据库支持的实现。除了承受应用程序池重新启动和服务器重新启动之外,这还可以让您将站点扩展到多个服务器。

    【讨论】:

      【解决方案3】:

      Check this blog post 关于 appdomain 回收的一些可能原因。有很多可能的原因。

      如果您无法解决问题,您可以从进程内会话状态切换到会话状态服务器或将会话状态存储在数据库中。这两个选项都很容易设置并且效果很好,但是会影响性能(我认为在 10-20% 之间)。 There is a nice article here 关于如何设置会话状态服务器。

      【讨论】:

        【解决方案4】:

        听起来应用正在被回收或进程失败。

        检查应用程序池设置http://msdn.microsoft.com/en-us/library/aa720473(VS.71).aspx

        和事件查看器。

        【讨论】:

          【解决方案5】:

          由于您提到您的服务器很小,您可能会检查您的工作进程是否消耗了您在processModel in machine.config 中设置的更多内存。这可能会导致重置。

          【讨论】:

            【解决方案6】:

            您确定 ASP.NET 应用程序确实重新启动了吗?还是您认为这是因为丢失了 Session 等?

            您的应用程序(和 IIS)的会话超时变量是什么?超时的默认值为 20 分钟,这就是我要问的原因。您可以在 web.config 中设置超时,如下所示:

            <system.web>
                <sessionState timeout="120"/>
            </system.web>
            

            但除此之外,IIS 本身也有一些地方可以设置它。对于 IIS6,这些地方是:

            • 虚拟目录的属性 > 主目录(选项卡)> 配置(按钮)> 选项(选项卡)> 会话超时
            • 虚拟目录的属性 > ASP.net(选项卡)> 身份验证(选项卡)> Cookie 超时

            我不确定两者是否真的需要,但我通常将两者设置为与我在 web.config 中设置的值相同的值。

            【讨论】:

              【解决方案7】:

              事件日志中是否记录了重启原因?

              【讨论】:

                【解决方案8】:

                您是否在服务器上运行了任何防病毒软件。对 web.config 的更改将导致您的应用程序重新启动 afaik,因此在某些情况下,通过 web.config 传递的防病毒软件可能会更改可能导致重置的文件属性。

                尝试禁用任何 AV 软件或从 AV 自动扫描中排除 Web 应用程序目录。

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 1970-01-01
                  • 2016-09-05
                  • 1970-01-01
                  • 1970-01-01
                  • 2011-01-14
                  • 1970-01-01
                  • 1970-01-01
                  • 2011-11-04
                  相关资源
                  最近更新 更多