Разница между WriteFile и TransmitFile?

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

Модератор: Ramzes

Roman Koff
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 495
Зарегистрирован: 17.09.2008 (Ср) 9:22
Откуда: От туда

Разница между WriteFile и TransmitFile?

Сообщение Roman Koff » 13.12.2009 (Вс) 14:32

Пишу хендлер отдающий пользователю файл. Есть два метода, которые решают задачу:
Код: Выделить всё
Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
   context.Response.WriteFile("Result/test.png")
   context.Response.TransmitFile("Result/test.png")
End Sub

Есть ли между ними какаянить разница и какой лучше юзать?
Слава роботам! Убить всех человеков! Bite my shiny metal ass!

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Разница между WriteFile и TransmitFile?

Сообщение MIT » 13.12.2009 (Вс) 14:38

Если файлы маленькие, то юзай Response.BinaryWrite

Добавлено: http://forums.asp.net/t/1275581.aspx
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

Roman Koff
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 495
Зарегистрирован: 17.09.2008 (Ср) 9:22
Откуда: От туда

Re: Разница между WriteFile и TransmitFile?

Сообщение Roman Koff » 13.12.2009 (Вс) 15:43

MIT писал(а):Если файлы маленькие, то юзай Response.BinaryWrite
Добавлено: http://forums.asp.net/t/1275581.aspx


Спасибо, здесь какраз сказано, что TransmitFile является более стабильным и эффективным.
Слава роботам! Убить всех человеков! Bite my shiny metal ass!

FaKk2
El rebelde gurú
El rebelde gurú
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Re: Разница между WriteFile и TransmitFile?

Сообщение FaKk2 » 22.12.2009 (Вт) 9:36

Все хорошо, но TransmitFile несовместим с UpdatePanel. Иными словами если в частичном постбэке сделать TransmitFile, то ajax ругнется нехорошим словом. А все потому, что TransmitFile выдает поток минуя буферы и соответственно не сделает правильной структуры которую ожидают в клиенте.
Для получения ответа надо продемонстрировать качества, позволяющие стать компетентным — внимательность, вдумчивость, наблюдательность, желание активно участвовать в выработке решения.

Roman Koff
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 495
Зарегистрирован: 17.09.2008 (Ср) 9:22
Откуда: От туда

Re: Разница между WriteFile и TransmitFile?

Сообщение Roman Koff » 26.12.2009 (Сб) 12:36

Чем это грозит с практической точки зрения, если аякс не используется?
Слава роботам! Убить всех человеков! Bite my shiny metal ass!

FaKk2
El rebelde gurú
El rebelde gurú
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Re: Разница между WriteFile и TransmitFile?

Сообщение FaKk2 » 26.12.2009 (Сб) 21:03

Ничем. Я бы и не знал об этом проблеме если бы не столкнулся с ней недавно когда прикручивал ajax.
Для получения ответа надо продемонстрировать качества, позволяющие стать компетентным — внимательность, вдумчивость, наблюдательность, желание активно участвовать в выработке решения.


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

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

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

    TopList