Я загружаю файлы, используя HttpWebRequest, в приложение ASP.Net MVC, но по какой-то неизвестной мне причине не удается выполнить последовательную загрузку.
Я знаю, что файл хорош, так как если вы попробуете достаточно раз, он в конечном итоге загрузится и его можно будет просмотреть на сервере просто отлично. Когда происходит сбой, ни сервер, ни клиент не сообщают о каких-либо ошибках, непосредственно связанных с загрузкой, загрузка просто останавливается на полпути в произвольном месте и времени, и мой метод действия MVC вызывается без загрузки файла (Request.Files.Count == 0
).
Это кажется только проблемой в нашей производственной среде по сравнению с DSL. Среда тестирования и разработки работает нормально, а производственная среда отлично работает в офисе (очень быстрое соединение с серверами), но не работает при запуске из дома через DSL.
Как вы можете видеть ниже, точка, в которой она терпит неудачу, довольно проста.
[Authorize]
[AcceptVerbs(HttpVerbs.Put | HttpVerbs.Post)]
[ValidateInput(false)]
public int UploadScene(int sceneID, int tourID, string name, int number, PhotoType photoType)
{
SceneInfo scene;
if (Request.Files.Count < 1) throw new InvalidOperationException("Image file not uploaded.");
// process file...
}
Кажется, что это, вероятно, конфигурация, но я не могу понять, что это может быть. Мы работаем в кластере (у нас есть 4 веб-сервера), поэтому он может иметь к этому какое-то отношение, но я тестирую на одном сервере (я могу изолировать машину по имени и убедиться, что она обрабатывает мои запросы). Я также убедился, что он работает в своем собственном пуле приложений. Что еще я должен проверить?
Мы используем IIS6 и .Net 3.5 на серверах.