2009-12-10 18 views
0

我想要得到一个处理,当用户从asp.net webform发回数据到服务器时发生的确切过程。在回发开始之前文件上传是否总是完成,或者在请求结束之前可以完成一些处理。当一个文件被触发上传时,在文件完成上传之前,回发事件背后的代码是否被触发?

作为这个问题的一部分,它是怎样的,有些人能够估计上传一个特定文件所需的时间,因为他们至少要知道代码和文件中会发生什么,那假设没有完全上传?

回答

1

可以估计上传时间并显示进度的Web应用程序通常使用在客户端上运行的第三方插件来执行上传(Flash上​​传器,Silverlight上传器,Java插件,ActiveX控件等) 。这些通常执行异步回发并管理他们自己的与服务器的网络连接。它通常是客户端代码,它决定了上传过程和速度等。

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

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

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

相关问题