0

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

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

4

1 回答 1

1

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

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

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

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

于 2009-12-10T10:38:07.380 回答