DB操作需要很长时间,经典ASP页面会停止

时间:2013-04-22 09:18:02

标签: sql asp-classic

我有一个ASP页面,我称之为SQL存储过程。这个SP正在做一些繁重的数据库操作,因此有时需要时间。有时可能需要3分钟以上。它有时很好,但有时ASP会卡住。即页面停止,它什么都不做。它也没有说DB操作成功,也不会抛出错误信息。

为什么会这样?我应该在页面上设置什么属性才能等待数据库响应?

Hello Again,

我有更多关于我面临的问题的信息。在分析了更多之后,我发现问题是另一回事。这是场景:

我有一个ASP页面说Base1.asp,这个页面有一个弹出窗口的链接,当我点击这个链接时,一个新窗口打开,popoup说pop1.asp。此弹出窗口中的“保存”调用存储过程在数据库中执行某些操作。在数据库中执行的操作有点耗时(请注意,此SP已经足够优化)。当我在此弹出窗口中点击“保存”时,将调用SP,执行数据库操作,然后关闭此弹出窗口,并使用javascript中的window.opener.location参数刷新父页面。这个过程大多数时候都很好。

当多个用户说5在同一时间使用此功能时,已发现弹出窗口无法刷新父页面。我看到数据库操作成功,弹出窗口的代码成功执行但弹出窗口无法自行关闭并刷新父页面。弹出窗口停留在屏幕上。我可以使用窗口右上角的X关闭它。

我的问题:

  1. 还有其他方法可以从子窗口重新加载父项吗?
  2. window.opener.location是否存在任何已知问题?
  3. 另请注意,目前刷新父级并关闭子级的代码是用javascript函数编写的,该函数在body标记的Onload事件中调用。

    1. 这是调用此功能的正确位置吗?
    2. 任何帮助都将不胜感激。

      由于

2 个答案:

答案 0 :(得分:0)

如果只是单个页面超时,我会将Server.ScriptTimeout[=NumSeconds]添加到违规页面的顶部,如下所述: -

http://www.w3schools.com/asp/prop_scripttimeout.asp

答案 1 :(得分:0)

一些问题,首先应该查询需要很长时间吗?通过重新制定它(增加一两个指数),它几乎可以立即发生吗?不是粗鲁,但你说“沉重”是什么意思?如果没有,那么我建议您在查询完成或失败时使用Ajax调用来更新页面。现在这样做并不困难,那里有很多模型。