【问题标题】:How to use HTTP keep-alive in asp.net web application?如何在 asp.net Web 应用程序中使用 HTTP keep-alive?
【发布时间】:2012-03-31 18:35:56
【问题描述】:

我有一个由 asp.net 构建的网页,用于从数据库加载数据以显示。 但是当要加载的数据太多时,用户访问这个页面必须等待20秒,然后发生超时。他看不到结果。

我想增加超时时间或者开启Http Keep-alive或者做点什么让用户可以看到结果。

我尝试在 IIS7 中启用 HTTP Keep-Alive,但仍未解决。 哪位大神给点意见。

【问题讨论】:

    标签: asp.net timeout keep-alive


    【解决方案1】:

    您是否必须在第一页上显示所有数据,或者是否可以使用分页以便仅从数据库中加载前 10、50 或 100 行?您的用户可能还会发现更容易使用的设计,而不必从数千行中挑选一个项目。

    这里有很多关于如何在 ASP.NET 中进行数据分页的问题,网上也有很多文章:
    Stack Overflow ASP.NET paging
    Efficiently Paging Through Large Amounts of Data (asp.net)

    【讨论】:

      【解决方案2】:

      这取决于您遇到的超时类型。

      如果执行查询时发生超时,可以尝试增加Command对象的超时时间:sqlCommand.CommandTimeout = 120;

      如果超时与ajax有关,增加ScriptManager超时:AsyncPostBackTimeout="120"

      【讨论】:

        【解决方案3】:

        菲, 什么都不需要。您所要做的就是确保您的 IIS 不会进入该特定网站的睡眠模式。因此,使用 IIS 属性为该网站启用 Keep-Alive(从版本 IIS 6.1 到 8 可用)。此外,外部 pinger 需要像 linux 中的 cron-job 活动一样工作。 在这种情况下,您可以免费使用“PingAlive.com”。 Jus 的添加网站,它会确保您的网站永远不会关闭(直到您的网站默认页面正常工作)。 谢谢。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-11-14
          • 1970-01-01
          • 1970-01-01
          • 2013-08-26
          • 2018-07-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多