Измерить время загрузки файла с сервера

Программирование Web-приложений и Web-сервисов.

Модератор: Ramzes

Rouch
Новичок
Новичок
Аватара пользователя
 
Сообщения: 41
Зарегистрирован: 30.07.2004 (Пт) 7:26
Откуда: Немного отовсюду

Измерить время загрузки файла с сервера

Сообщение Rouch » 15.09.2008 (Пн) 13:39

Приветсвую всех.
Необходимо измерить время загрузки файла с сервера.
Стандартный метод WriteFile не подходит, т.к. после Response.End() поток закрывается и отправляется клиенту.
Код: Выделить всё
        string file = (string)Session["DownloadFile"];
        Response.Clear();
        Response.ClearHeaders();
        Response.AddHeader("Content-Disposition", "attachment; filename=" + file);
        Response.AddHeader("Pragma", "public");
        Response.AddHeader("Cache-Control", "max-age=0");
        Response.ContentType = "application/vnd.ms-excel";
        Response.WriteFile(file);
        Response.End();

У кого-нибудь есть идеи, как можно передать файл клиенту и замерить время передачи?
Заранее спасибо.
Be all that you want be.

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: Измерить время загрузки файла с сервера

Сообщение Williams » 17.09.2008 (Ср) 20:25

Отдавать по кусочку
И вы думаете, что вас оставят в живых после прочтения этого поста?

Rouch
Новичок
Новичок
Аватара пользователя
 
Сообщения: 41
Зарегистрирован: 30.07.2004 (Пт) 7:26
Откуда: Немного отовсюду

Re: Измерить время загрузки файла с сервера

Сообщение Rouch » 18.09.2008 (Чт) 16:06

Williams писал(а):Отдавать по кусочку

При чем тут по-частям!
Дело в другом. Мерить время надо на стороне клиента, естественно. Это можно сделать например через JavaScript.
Я реализовал следующий алгоритм:
1. В момент нажатия на кнопку "Тест", JavaScript замеряет время и запоминает его, например кладет в контрол.
2. Далее следует Postback в ходе которого содержимое файла кладется в поток данных клиенту, не важно куда, например в коментарий.
3. После того как страница загружена на стороне клиента, вызывается функция, считающая время выполнения.
Тут есть один минус, в подобный расчет включается время запроса на сервер. В моем случае она значительно меньше ответа, но буду признателен, если кто предложит другой метод.
Be all that you want be.


Вернуться в ASP.NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

    TopList