如果ASP页面长时间没响应造成自动重发申请的原因?

来源:互联网 发布:云计算和saas 编辑:程序博客网 时间:2024/05/21 10:32

硬件条件:

服務器  WINDOWS SERVER 2008s2 +IIS7
客戶端 WIN7 +IE8
开发语言 asp.net + vb.net + js

问题描述:


刚开始页面初始化之类的就不说了,直接说中间的逻辑。
对了,下面所提到的页面hidden型变量a,它的初始值为0。


用户从页面点击某按钮(按钮注册为服务端控件),按钮里面做的事情就是通过Page.ClientScript.RegisterStartupScript 将页面hidden型变量a赋值1,并SUBMIT()
自然而然程序就走进Page_Load,下面就是关于page_Load的主要逻辑。
 
Page_Load 开始


  if  Not IsPostBack Then
     ......
  else
     if 页面hidden型变量a 为 1 的时候
         PDF文件 制作开始 
         ......
        PDF文件 制作结束


         通过Page.ClientScript.RegisterStartupScript
            将页面hidden型变量a赋值2,并SUBMIT()
     End If


     if 页面hidden型变量a 为 2 的时候
         询问是否下载,是的话,就开始将PDF文件写进客户端。
      End If


  End If


Page_Load  结束


从Page_Load开始到21分钟之后,PDF制作成功,(在21分钟的过程中,程序上没有雨客户端有任何交互)
最后Page_Load  结束。这中间和往常一样没有问题。
  
接下来Page_Load  再开始,本应该跑进 “if 页面hidden型变量a 为 2 的时候”的程序。
但不晓得什么原因,它却仍旧跑“ if 页面hidden型变量a 为 1 的时候”的程序。


以前数据量稍小(20分钟以内)的时候,是没有问题的。(这个程序十年前开始,每个月都会跑)
今年的4月份,由于数据量大导致PDF的制作需要超过20分钟的时间。
所以问题就出现了。

可能原因:

1,就是题目所说的,ASP页面若长时间得不到响应,是否会自动重发请求?
   我的猜想是,第二次的跑的Page_Load  是自动重发,而不是程序SUBMIT的。


2,页面已经失效,导致“通过Page.ClientScript.RegisterStartupScrip 将页面hidden型变量a赋值2,并SUBMIT()”的执行失败。

原创粉丝点击