2010-02-16 109 views
1

我最近着手为ASP.NET创建自己的异步文件上传组件。我从Darren Johnstone的FileUpload项目中吸取了经验教训,并创建了一个HttpModule用于从提交的数据中提取文件。文件上传在部署到服务器时不起作用

我得到了一切正常的工作,因为它应该在VS 2008使用开发服务器进行测试。我甚至在测试过程中走得太远,以确保请求在文件开始上传之前被模块拦截。在对事情感到满意后,我将该项目部署到我们的Web服务器(Win 2008 w/IIS 7)。我惊讶地发现,这些控件在部署时无法运行。

经过一些远程调试后,我发现HttpApplication.AuthenticateRequest事件(我的位置用于挂接进程)在文件完全上传之前未被调用。

我检查了我能想到的所有事情,但仍然无法找到行为变化的原因。有任何想法吗?

回答

0

我的猜测是ASP.NET运行时未在集成模式下与服务器上的IIS运行时一起运行,因此文件上传必须在IIS主机进程中完全缓冲,然后才能传递到ASP。 NET运行时。

这将解释为什么请求管道在数据完全上传之前不会触发。

检查服务器的配置并确保为ASP.NET应用程序启用集成模式。

+0

只需双重检查,它确实已经处于集成模式。 – highvoltage 2010-02-16 12:18:00

相关问题