powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Передача больших файлов на клиент
18 сообщений из 18, страница 1 из 1
Передача больших файлов на клиент
    #37513980
skon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго всем времени суток.
Возникла проблема следующего рода. Вот тестовый примерчик, реализующий проблемную часть:
1. Простая форма, отправляющая документ на клиент
Код: plaintext
1.
2.
3.
const string docPath = @"***\TstDoc.doc";
Sender sndr = new Sender(Response, Server);
sndr.SendFileToClient(docPath, String.Format("application/{0}", "doc"), "testOutput.doc");
2. Сопсно Sender
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
    public class Sender
    {
        private const string ContentDispositionTag = "content-disposition";
        private const string ContentDispositionFormat = "{0}; {1}={2}";
        private const string AttachmentTag = "attachment";
        private const string FileNameTag = "filename";

        private readonly HttpResponse response;
        private readonly HttpServerUtility server;

        public Sender(HttpResponse resp, HttpServerUtility srv)
        {
            response = resp;
            server = srv;
        }

        public void SendFileToClient(string fileName, string contentType, string nameForClient)
        {
            response.Buffer = true;
            response.Clear();
            response.ClearContent();
            response.ClearHeaders();
 
            response.ContentType = contentType;

            string tst = StrEncoder.GetEncodeFileName(nameForClient, server);
            response.AppendHeader(
                  ContentDispositionTag,
                  String.Format(
                      ContentDispositionFormat,
                      AttachmentTag,
                      FileNameTag,
                      tst
                      )
                  );
            response.WriteFile(fileName);
            response.Flush();
            response.End();
        }
    }
Не удается отправить файло свыше определенного размера. На клиентских машинах пишет "remote host closed connection", на сервере, где приложение развернуто, со слов администратора, просит повторно авторизоваться. Локально на моей машине примерчик без проблем отправляет файлы гораздо большего размера.

Подскажите, плз, в чём могут быть проблемы
...
Рейтинг: 0 / 0
Передача больших файлов на клиент
    #37514006
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отдаете, надеюсь, через хендлер? В случае aspx нужно глянуть свойство Page.Buffer.
...
Рейтинг: 0 / 0
Передача больших файлов на клиент
    #37514040
skon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУОтдаете, надеюсь, через хендлер?
нет

МСУВ случае aspx нужно глянуть свойство Page.Buffer.
нигде программно не устанавливается, по-дефолту true. файлы в пару десятков Мб отправляются без проблем.
...
Рейтинг: 0 / 0
Передача больших файлов на клиент
    #37514086
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skonпо-дефолту true
Поставьте false.
...
Рейтинг: 0 / 0
Передача больших файлов на клиент
    #37514087
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skonнет
Плохо.
...
Рейтинг: 0 / 0
Передача больших файлов на клиент
    #37514116
skon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУskonнет
Плохо.
кто ж спорит, но как есть...есть "небольшие" административные рамки - пересобирать приложение, это последняя из мер. Неплохо, если удастся решить проблему за счет изменения web.config, настроек пула в iis etc...В идеале пока добиться того, чтобы локально проблема воспроизводилась
...
Рейтинг: 0 / 0
Передача больших файлов на клиент
    #37514130
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skonкто ж спорит, но как есть...
1. Что мешает переисать под хендлер?
2. Что по Page.Buffer?
...
Рейтинг: 0 / 0
Передача больших файлов на клиент
    #37514148
skon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУskonкто ж спорит, но как есть...
1. Что мешает переисать под хендлер?
2. Что по Page.Buffer?
1. административные рамки)...переписать-то перепишу, развернуть не скоро получится
2. Page.Buffer = false не изменил картины, локально на моей машине файлы передаются как и раньше что 2 Мб, что 200
...
Рейтинг: 0 / 0
Передача больших файлов на клиент
    #37514252
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
файл надо отдавать через Response.TransmitFile
...
Рейтинг: 0 / 0
Передача больших файлов на клиент
    #37514301
skon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яростный Мечфайл надо отдавать через Response.TransmitFile
я так понимаю это те же яица, только без буфферезации. Или я не правильно понимаю?
...
Рейтинг: 0 / 0
Передача больших файлов на клиент
    #37514316
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skonя так понимаю это те же яица, только без буфферезации.да.

судя по названию, здесь юзается сокетная функция TransmitFile, специально предназначенная для отправки файлов.
...
Рейтинг: 0 / 0
Передача больших файлов на клиент
    #37514319
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Передача больших файлов на клиент
    #37514338
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skon,

А можно поконкретнее размер? Дело в том, что у кого-то суп жидкий, а у кого-то жемчуг мелкий... .
...
Рейтинг: 0 / 0
Передача больших файлов на клиент
    #37514342
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
here
...
Рейтинг: 0 / 0
Передача больших файлов на клиент
    #37514349
skon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeskon,

А можно поконкретнее размер? Дело в том, что у кого-то суп жидкий, а у кого-то жемчуг мелкий... .
Можно, но с определённой дискретностью - дело в том, что на проблемной машине я не могу погонять тестовый примерчик и данные в БД не подправлю. Так вот отчет в 15 Мб отправляется, а вот больше 40 уже нет
...
Рейтинг: 0 / 0
Передача больших файлов на клиент
    #37514363
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
смотри не размер файла, а время от начала загрузки !!!
...
Рейтинг: 0 / 0
Передача больших файлов на клиент
    #37514497
skon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vladgrighere
перечитал...и чот потерял уверенность, что проблема с буффером. Закралось подозрение, что это "ФОРТ" мне режет
надо пошуршать в настройках
...
Рейтинг: 0 / 0
Передача больших файлов на клиент
    #37518669
skon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яростный Мечфайл надо отдавать через Response.TransmitFile
Спасибо за подсказ, проблема в какой-то степени решилась - файлы действительно отдаются без проблем
А вот заставить свою машину упасть с ошибкой при буфферизации мне так и не удалось
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Передача больших файлов на клиент
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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