【问题标题】:Long delay after button is clicked单击按钮后的长时间延迟
【发布时间】:2014-01-30 16:25:50
【问题描述】:

我只是在使用 VB 2010 学习 ASP.NET,虽然我已经取得了很大的进步,但我还是被一个我无法解决的问题难住了。我也在网上寻找答案,但我没有找到任何我正在处理的东西。 ...虽然我可能没有使用正确的搜索词。

无论如何,这是一个将在我们公司网站上运行的应用程序,它要求用户在文本框中输入信息并单击按钮接受它。然后它将显示一个模式弹出窗口,要求用户确认。弹出窗口有一个“确认”按钮和一个“取消”按钮。取消按钮立即起作用(隐藏确认弹出窗口),但确认按钮挂起几秒钟后才进入下一步,这是一个模态的“谢谢”弹出窗口。确认按钮将数据写入数据库。

现在,这就是它在开发环境中的工作方式。然而,当它在生产服务器上时,它会在它做任何事情之前坐在那里不知道多久。我可以看出它正在写入数据库,然后在页面上显示数据,但确认弹出窗口仍然存在,而谢谢弹出窗口从未出现。此外,该应用程序应该向用户发送一封电子邮件作为确认,但它没有这样做。

当它这样挂断时,我从来没有等待足够长的时间来看看它什么时候能赶上。当它像那样运行时,我不知道调试它的方法。

关于页面的更多信息:有几个更新面板,一个每秒响应一个计时器滴答以更新页面上的字段。其他设置为“有条件的”,由其他事件更新。例如,Confirmation 和Thank You 模式位于响应不同事件的条件更新面板中。

所以我有两个问题:谁能告诉我有关挂断的信息,有没有办法从实时站点进行调试?哦,也许还有第三个:你能有太多的更新面板吗?

更新: 后续问题:它会在不同的线程上发生,偏离正确的线程吗?我从来没有真正理解过线程,但这似乎是一种可能性。

【问题讨论】:

    标签: asp.net vb.net visual-studio-2010 postback


    【解决方案1】:

    这可能是任意数量的事情,因此可能是您需要深入研究和排除故障的事情,而且我们可能无法提供太多帮助。

    首先,强制性要求:请发布您的代码:)

    现在,在生产中快速、开发和缓慢运行的东西通常是资源问题或代码/数据问题。首先,快速浏览一下服务器,确保它能够胜任多个用户的任务以及所有这些。值得一看,但通常是代码或数据的问题。

    更新命令在做什么?其背后的 SQL 是否写得好而高效?在另一个用户正在做某事并且您的代码实际上在等待它完成之前进行更新时是否可能发生任何数据库锁定?数据库中有多少行/正在影响多少行?

    我会首先运行 SQL 跟踪以查看实际发生的情况,并了解有多少数据库调用以及每个调用需要多长时间来执行。如果这不是答案,请查看 VB 代码,看看它是否高效编写。如果没有,请返回服务器资源。在没有看到任何代码或不知道应用程序应该做什么的情况下,我敢打赌数据库查询是罪魁祸首。

    【讨论】:

      【解决方案2】:

      我的错。我没有提到一个方面,因为我不知道它会是一个因素,但它确实是。该过程的一部分是将某些事件记录到日志文件中。它在我们的 IIS 中的设置方式是一个很大的禁忌。所以它抛出了一个错误,但这个错误只是表现为长时间的延迟。我注释掉了打开、写入和关闭日志文件的代码,一切都很好。

      【讨论】:

        猜你喜欢
        • 2014-10-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-07-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多