我最近开始为ASP.NET创建自己的异步文件上传组件。我从Darren Johnstone的FileUpload项目中学到了经验教训,并创建了一个HttpModule,用于从提交的数据中提取文件。
我使用开发服务器在使用VS 2008进行测试时,一切正常。我甚至在测试期间走得太远,以确保在文件开始上传之前模块拦截了请求。在我对事物感到满意后,我将项目部署到我们的Web服务器(Win 2008 w / IIS 7)。我感到震惊的是,部署时控件无法正常工作。
经过一些远程调试后,我发现在文件完全上传之前,没有调用HttpApplication.AuthenticateRequest事件(我挂钩进程的位置)。
我已经检查了我能想到的所有内容,但仍然无法找到行为改变的原因。有什么想法吗?
答案 0 :(得分:0)
我的猜测是ASP.NET运行时没有在服务器上运行IIS运行时的集成模式下运行,因此必须在IIS主机进程中完全缓冲文件上载才能将其传递给ASP.NET运行时。
这可以解释为什么在完全上传数据之前不会触发请求管道。
检查服务器的配置并确保为ASP.NET应用程序启用了集成模式。