Итак, вот в чем проблема: я читаю поток из элемента управления FileUpload, считывая фрагменты из n байтов и записывая массив в цикле, пока не дойду до конца потока.Задержка операций с файлами ASP.net
Теперь причина, по которой я это делаю, заключается в том, что мне нужно проверить несколько вещей, пока загрузка все еще продолжается (вместо того, чтобы делать Save(), что делает все это за один раз). Вот в чем проблема: при выполнении этого с локальной машины я могу видеть файл просто прекрасным, поскольку он загружается и его размер увеличивается (должен был добавить предложение Sleep() в цикле, чтобы фактически увидеть, как файл записывается).
Однако, когда я загружаю файл с удаленной машины, я не вижу его, пока файл не завершит загрузку. Кроме того, я добавил еще один вызов для написания прогресса в текстовый файл по мере продвижения, и я получаю то же самое. Локальный: файл обновляется по мере загрузки, удаленный: файл токена появляется только после завершения загрузки (что несколько бесполезно, так как оно мне нужно, пока загрузка все еще происходит).
Есть ли какой-либо параметр безопасности в (или ASP.net), который может сохранять файлы во временном месте для удаленных компьютеров, а не на локальном компьютере, а затем перемещает их в указанный пункт назначения? Я бы упомянул об этом, когда ASP.net отображал сообщения об ошибках при просмотре с локального компьютера (даже на общедоступном имени хоста), в отличие от общей страницы исключений ошибок/общего исключения, которая отображается при просмотре с удаленной машины (а customErrors - нет off)
Любые подсказки по этому вопросу?
Заранее благодарен.
Итак, что вы говорите, так это то, что даже с задержкой, которая была у меня на локальном компьютерном тесте, содержимое уже достигло IIS целиком, и я только что обработал внутреннее то, что уже пришло. В основном, что я пытаюсь сделать, это индикатор прогресса загрузки на сервере/стороне клиента (который будет опросить другую страницу на сервере для прогресса с помощью javascript на стороне клиента). Спасибо. Кроме того, если значение по умолчанию уже 256 байтов (и мы предполагаем, что каждый раз, когда каждые 256 байтов записываются на диск), это означает, что это не сработает :( Спасибо за ответ. – mtranda
Если честно, я не понял, что свойство 'requestLengthDiskThreshold' тоже, но для того, чтобы создать процесс загрузки, вы должны отправить данные в виде фрагментов. –
Что особенно заинтриговало меня и определило, что я пытаюсь использовать веб-метод, это библиотека jQuery. http: //t.wits .sg/misc/jQueryProgressBar/demo.php Я пытаюсь загрузить, когда мы говорим, и, похоже, работает для PHP. – mtranda