【问题标题】:how to best manage processor from ASP.NET app on shared hosting如何在共享主机上最好地管理来自 ASP.NET 应用程序的处理器
【发布时间】:2009-12-18 10:29:28
【问题描述】:

我正在从第三方读取 RSS 提要,然后将数据导入数据库。

此过程有时会超时。

{"Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached."}

目前我有以下内容

1) asp.net 页面上的一个按钮 2)下载RSS 3)使用linq查询得到我想要的数据 4) 插入数据库。

有什么好的做法可以最大限度地减少超时。我认为在按钮单击时调用 ashx 可能会有所帮助。非常感谢建议。这将在共享主机上。

谢谢

【问题讨论】:

    标签: asp.net timeout


    【解决方案1】:

    是您的数据库插入超时。如果您与同一服务器有许多连接,则可能会发生这种情况。您确定在完成连接后会关闭它们吗?

    您也可以尝试增加连接池大小。请阅读这篇文章: http://www.15seconds.com/Issue/040830.htm

    【讨论】:

    • 同意。 SqlConnection 需要尽快关闭。
    【解决方案2】:

    如果您可以从新的后台线程进行 RSS 调用和 DB 插入会更好。使用常规页面或 .ashx 或其他任何方式将请求排队到后台线程。

    如果将其保留在前台线程中,请尽可能使用异步 I/O 以避免耗尽 ASP.NET 工作线程池。

    当然,请务必关闭/释放/处置所有 IDisposable 对象。

    【讨论】:

      猜你喜欢
      • 2016-12-13
      • 1970-01-01
      • 1970-01-01
      • 2015-07-17
      • 2020-10-22
      • 1970-01-01
      • 2014-03-26
      • 1970-01-01
      • 2012-08-09
      相关资源
      最近更新 更多