powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / GetPreloadedEntityBody() возвращает null
2 сообщений из 2, страница 1 из 1
GetPreloadedEntityBody() возвращает null
    #37678241
st_st
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
msdnМетод GetPreloadedEntityBody() возвращает часть считанного ранее текста HTTP-запроса.

Где можно найти описание этой штуковины? Какую часть, кем эта часть была считана ранее, почему этот кто-то считал часть запроса, зачем он это сделал и т.д.

Вопрос в том, что у меня и у многих других этот метод всегда возвращает null, но в примерах кода его часто используют даже не задумываясь о том, что он может быть null (а может тоже не знают что он делает), как результат - вываливается ошибка, далее авторы кода непоняв почему так происходит (у них то работает), предлагают дописывать проверку на null.

Есть подозрение, что это зависит от версии фреймворка, ОС или IIS. Я у себя GetPreloadedEntityBody() выкинул, так как пока не знаю зачем он, но есть опасение, что при заливке на хостинг, он там заработает и чё-нить покажет, поэтому хочется выяснить причины когда метод вовращает назовём это "тело считанного кем-то запроса", а когда null.

Вообще с данной проблемой я не одинок -

http://forums.asp.net/t/1567380.aspx/1
http://www.pcreview.co.uk/forums/getpreloadedentitybody-does-not-work-asp-net-2-0-a-t2449292.html

но ответа на вопрос там нет, типа метод работает с IIS 7 .net 1.1, IIS 6 .net 2.0 и даже что-то там возвращает, но не работает в IIS 7 net 2.0 и выше, у меня IIS 7.5 net 4, таже самая байда. И режимы пула менял - классический/пипелине и версии .net и файлы по сети грузил большие/маленькие, ничего не меняется.

Может выкинуть GetPreloadedEntityBody() и всё что с ним связано - IsEntireEntityBodyIsPreloaded() и прочее?
...
Рейтинг: 0 / 0
GetPreloadedEntityBody() возвращает null
    #37678442
st_st
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Некоторые особенности, выявленные при стандартном аплоаде файлов.

Файл целиком грузится на диск с системой (на тот, где установлена винда, IIS). Причём на диск, не в ОЗУ, то есть всё нормально, пугливые возгласы америкосов с форума asp.net и топика 2008-го года не оправдались (ну тогда и IIS с .net старее был, может там в озу и грузилось). После того, как он загрузился, он вырезается (сжирая всё доступное ОЗУ согласно своему весу) и вставляется в папку предназаначения его загрузки (та, которая указана в HttpPostedFile.SaveAs("путь")).

Из минусов - сохраняется не на тот диск (место кончится на системном диске к примеру при множественном аплоаде больших файлов многими юзерами и получим статус 500), при копировании между дисками/серверами отжирает ОЗУ и расходует ресурсы сервера (тот же cpu), докачка и прогрессбар(хотя прогрессбар тут лишний) невозможны.

Собственно из-за подобных причин и сделал свой загрузчик. От всех вышеперечисленных минусов удалось избавиться.

В современном мире докачка файлов и прогрессбар доступны на клиенте в html5, да и во flash наверное тоже, то есть заниматься бредом с показом прогресса загрузки файла с сервера вряд ли придётся, что уже хорошо.

Но займёмся пока серверной реализацией, все пихают GetPreloadedEntityBody(), ради которого и был создан этот топик. Но оно жеж без него прекрасно работает, зачем нужен этот метод, пока остаётся загадкой...
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / GetPreloadedEntityBody() возвращает null
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]