Запуск кода после завершения Response.TransmitFile - PullRequest
2 голосов
/ 20 августа 2009

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

Я пытался получить количество тиков до и после этого вызова, но это явно не представляло, сколько времени занял перевод. Это вернуло мне числа, такие как 0,0016 миллисекунды для файла 30 МБ. : -)

Есть идеи?

1 Ответ

2 голосов
/ 20 августа 2009

Передача асинхронная, как вы видели.

Вы можете получить желаемое, отключив буферизацию в HttpResponse (Response.Buffer = false) перед вызовом TransmitFile. Если это не удается, передает его «вручную» и синхронно, используя FileStream .

Если вы хотите отслеживать только время, необходимое для передачи, просто для вашей информации, и вам не нужно регистрировать время в своем приложении, вы можете сделать это с помощью Fiddler.

...