У меня есть очень простая страница, с которой пользователь загружает файл. Используя только серверный C# (например, код), как я могу измерить количество времени, которое пользователь должен был дождаться загрузки файла?Измерьте время загрузки?
ответ
Это очень сложно (ну, это было в IIS6). Вам нужно написать HttpModule, чтобы перехватить загрузку и обработать ее, а затем использовать общий размер файла, входящего в него (он находится в заголовке запроса), рассчитать, сколько байтов в секунду вы получаете, а затем вы можете вычислить сколько осталось времени.
Однако вы не можете ничего сделать с помощью только кода-файла - файл уже загружен и доступен к моменту поступления запроса обработчику asp.net.
Вы сказали мне, как рассчитать скорость, а не продолжительность? Это правильно? Ваш последний абзац уместен - говоря, что ASP.NET не знает о запросе, пока он не будет полностью загружен на сервер? – lance
Нет, я сказал вам, как измерить продолжительность. Когда у вас есть байт в секунду, вы можете рассчитать общее время, если знаете общие байты файла. Например. если вы получаете пропускную способность 4 000 байт в секунду, а файл - 16 000 байт, то это займет четыре секунды (оценка: эти вычисления никогда не будут полностью правильными, пока они не будут выполнены). Неявным в этом является то, что вам необходимо поддерживать общее количество полученных байтов и секунд, прошедших с момента запуска, - делить их на два байта в секунду, а затем разделить размер файла в байтах на байты в секунду, чтобы получить количество секунд для всего файла , –
Метод, который я описал, используется для предсказательной оценки прошедшего времени (например, обычно обычно вычитается общее время от общего времени, чтобы дать пользователю «секунды влево» или другое приглашение). Было бы полезно, если бы мы знали, что вы делаете с данными ... если вы просто используете его для создания отчетов в фоновом режиме, решение г-на Фишера должно быть достаточным. –
Мне нужно было найти что-то вроде этого и I'm using this.
Если вы не уверены в полной точности, вы можете отправить быстрый вызов на сервер, чтобы указать, что загрузка начинается, а затем сразу после запроса на загрузку. Затем сервер может измерять время между первым вызовом и завершением второго вызова.
Это не так просто, как кажется, но я все равно собираюсь голосовать. Возьмем, к примеру, случай, когда два пользователя загружают файлы одновременно - сервер должен иметь возможность различать уникальные времена начала файла. Возможность, но не тривиальная. И так как первым вызовом, скорее всего, будет вызов внеполосного AJAX-типа, структура данных на сервере должна быть статичной, и тогда ему нужно будет ее очистить и т. Д. –
- 1. Измерьте время загрузки в JQuery
- 2. Измерьте время загрузки для скрипта cgi python?
- 3. Измерьте время приема ajax
- 4. Измерьте время запроса IPad
- 5. Измерьте время дочернего процесса
- 6. Измерьте время, затраченное программой
- 7. Измерьте время загрузки веб-сайта со скриншотами каждую секунду
- 8. Измерьте время загрузки HTTP-запроса с помощью QNetworkAccessManager
- 9. Измерьте время загрузки веб-сайта с помощью запросов Python
- 10. Измерьте время, необходимое для загрузки страницы/изображений/... с помощью JSoup
- 11. Измерьте время выполнения в C#
- 12. Измерьте время выполнения в linux
- 13. Измерьте время выполнения, используя SPIM
- 14. Измерьте время запроса в Mongo
- 15. Измерьте время с Python, когда время эпохи устройства ненадежно
- 16. Измерьте время выполнения в C (в Windows)
- 17. Измерьте время выполнения в программе pascal
- 18. Измерьте время выполнения в C++ OpenMP-код
- 19. Измерьте время отклика в Java (веб-сервис)?
- 20. Измерьте точное время (количество циклов) набора инструкций
- 21. Измерьте общее время передачи сети с сервлетов
- 22. Измерьте время для заполнения раздела - формы google
- 23. Измерьте время между двумя нажатиями кнопок. (Java)
- 24. Измерьте интенсивное время процессора с асинхронным кодом
- 25. Измерьте время выполнения в минутах и секундах
- 26. Измерьте время выполнения в цикле процессора?
- 27. Измерьте время в минутах в C
- 28. Измерьте время, необходимое для запуска класса Java
- 29. Измерьте время выполнения вызова функции в C++
- 30. Java 1.8: Измерьте прошедшее время потокобезопасным способом
Я не пытаюсь сказать пользователю, сколько времени осталось в загрузке. Я пытаюсь проверить, как долго загружалась загрузка. – lance