Загрузка файлов не работает при развертывании на сервер

Недавно я приступил к созданию собственных асинхронных компонентов загрузки файлов для ASP.NET. Я извлек уроки из проекта FileUpload Даррена Джонстона и создал HttpModule для извлечения файлов из представленных данных.

У меня все работает как надо при тестировании с VS 2008 с использованием Development Server. Я даже зашел так далеко во время тестирования, чтобы убедиться, что модуль перехватывает запрос до начала загрузки файлов. После того, как я остался доволен, я развернул проект на нашем веб-сервере (Win 2008 с IIS 7). Я с ужасом узнал, что при развертывании средства управления не функционируют.

После некоторой удаленной отладки я обнаружил, что событие HttpApplication.AuthenticateRequest (мое местоположение для подключения к процессу) не вызывалось, пока файлы не были полностью загружены.

Я проверил все, что могу придумать, и до сих пор не смог найти причину такого изменения в поведении. Есть идеи?

1 ответ

Я предполагаю, что среда выполнения ASP.NET не работает в интегрированном режиме со средой выполнения IIS на сервере, поэтому загрузка файла должна быть полностью буферизована в хост-процессе IIS, прежде чем она может быть передана среде выполнения ASP.NET.

Это объясняет, почему конвейер запросов не запускается, пока данные не будут полностью загружены.

Проверьте конфигурацию сервера и убедитесь, что для приложения ASP.NET включен интегрированный режим.

Другие вопросы по тегам