【问题标题】:When a file is triggered to upload, does the code behind postback event fire before the file is finished uploading?当文件被触发上传时,回发事件背后的代码是否会在文件完成上传之前触发?
【发布时间】:2009-12-10 04:15:40
【问题描述】:

我试图了解用户从 asp.net 网络表单将数据发回服务器时发生的确切过程。文件上传是否总是在回发开始之前完成,或者某些处理可以在请求结束之前完成。

作为这个问题的一部分,有些人如何能够估计上传特定文件所需的时间,因为他们必须至少对代码中发生的事情有所了解,然后文件将假设没有完全上传?

【问题讨论】:

    标签: asp.net asyncfileupload


    【解决方案1】:

    可以估计上传时间和显示进度的网络应用程序通常使用在客户端上运行的第 3 方插件来进行上传(flash 上传器、silverlight 上传器、java 插件、activeX 控件等)。这些通常执行异步回发并管理自己与服务器的网络连接。通常是客户端代码决定上传进度和速度等等。

    通过 HTML 输入控件上传文件的标准 HTTP 支持不是很智能。因此,如果您使用 asp.net FileUpload 控件(它只是将 HTML 输入标记呈现给浏览器),您将很难从后面的页面代码中获取请求,直到文件的整个上传完成。

    但是;您可以在上传完整文件之前在 HttpModule 中拦截请求。 asp.net 生命周期中的一些早期事件将在文件上传完成之前触发,但老实说,我不知道在它等待其余的发布数据之前你得到的请求到底有多远。我确实知道 BeginRequest 会被调用(我之前已经在此处连接了用于文件上传的代码)。

    所以是的,您可以在这里做一些工作,但是您关于传入请求内容的信息将非常有限。

    【讨论】:

      猜你喜欢
      • 2017-09-06
      • 2012-04-20
      • 1970-01-01
      • 2019-06-12
      • 1970-01-01
      • 1970-01-01
      • 2021-02-05
      • 1970-01-01
      • 2021-10-15
      相关资源
      最近更新 更多