Vb6 脚本超时被VB DLL忽略

Vb6 脚本超时被VB DLL忽略,vb6,asp-classic,com+,Vb6,Asp Classic,Com+,非常简单:我在确保VB DLL遵守IIS和ASP中设置的超时方面遇到了一个问题 我工作的一个网站使用了大量的本地DLL,它们的方法可能运行的时间比web用户愿意等待的时间更长。如果访问者按Escape或关闭浏览器,则该过程自然会在服务器上继续,占用CPU时间和内存 在我的ASP中,我将server.scriptTimeout设置为一个较低的数字(比如10秒),并且我在IIS中对整个web应用程序执行了相同的操作(因为我知道如果server.scriptTimeout低于IIS超时,则忽略它) 如

非常简单:我在确保VB DLL遵守IIS和ASP中设置的超时方面遇到了一个问题

我工作的一个网站使用了大量的本地DLL,它们的方法可能运行的时间比web用户愿意等待的时间更长。如果访问者按Escape或关闭浏览器,则该过程自然会在服务器上继续,占用CPU时间和内存

在我的ASP中,我将server.scriptTimeout设置为一个较低的数字(比如10秒),并且我在IIS中对整个web应用程序执行了相同的操作(因为我知道如果server.scriptTimeout低于IIS超时,则忽略它)

如果我运行ASP页面时没有任何内容,只有一个循环运行了几百万次,那么脚本会在10秒后正确超时。但是,如果我将该循环移动到一个非常简单的DLL中(然后在COM+中正确注册),那么我的脚本将运行大约210秒,然后超时


因此,我的问题是:如何使脚本按照我的要求超时?

据我所知,ASP引擎在调用DLL中的方法时会将控制权传递给DLL。在方法返回之前,ASP实际上不会调用快照,一旦调用返回,它就会意识到时间已经超过并结束脚本执行。

这可能会在某个时候对我产生影响,因此我会问几个问题:超时值是否可以传递给DLL?在循环体中是否有DoEvents?