AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.12.2004, 12:38   #1  
corvax is offline
corvax
Участник
 
2 / 10 (1) +
Регистрация: 21.12.2004
Адрес: Москва
передача бинарных файлов с клиента на AOS и обратно
Привет!
есть вариант реализации -
для передачи с AOS на клиента пишем класс, выполняемый на сервере (RunOn:Server). Метод класса, выполняющий сохранение файла с AOS на клиента:
PHP код:
void Server2Client()
{
    
container con;
    
BinData MyFile;
    
MyFile=new BinData();
    
MyFile.LoadFile("d:\\file.eps");
    
con=MyFile.getData();
    
atest::SaveFile2Client(con,"d:\\fromserver.eps");

и статический метод класса, выполняющийся на клиенте:
PHP код:
static client public void SaveFile2Client(container FileData,str FilePath)
{
    
BinData TempData;
    
TempData=new bindata();
    
TempData.setdata(FileData);
    
TempData.saveFile(FilePath);

Обратная передача реализована похожим образом, только статический метод осуществляет загрузку файла с клиента, а метод класса, выполняющийся на сервере - его сохранение.

Проблема в следующем: при выполнении передачи с клиента на сервер без проблем прокачиваются даже очень большие файлы (150 Mb).
При передаче же с сервера на клиент AOS "закрывает соединение с компьютером" уже на 100 Mb
У меня Axapta 3.0 SP1

Можно ли обойти эту ошибку?
Существует ли альтернативный способ для передачи бинарных файлов между сервером и клиентом?
Старый 22.12.2004, 12:49   #2  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,244 / 980 (37) +++++++
Регистрация: 03.04.2002
Re: передача бинарных файлов с клиента на AOS и обратно
Цитата:
Изначально опубликовано corvax
Существует ли альтернативный способ для передачи бинарных файлов между сервером и клиентом?
Внешними средствами, к примеру через расшаренную папку
__________________
Isn't it nice when things just work?
Старый 22.12.2004, 13:00   #3  
corvax is offline
corvax
Участник
 
2 / 10 (1) +
Регистрация: 21.12.2004
Адрес: Москва
для этого пользователям доступ на сервер давать придется.
а этого не хотелось бы.

Поправлюсь: альтернативный способ средствами Axapta.
Старый 22.12.2004, 21:53   #4  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Смотрите как решена эта задача в классе SysFileDeployment.

(К сожалению, Аксапты под рукой нет, название проверить не могу, но оно примерно такое)
Старый 31.03.2014, 16:10   #5  
Damn is offline
Damn
Участник
 
436 / 154 (6) ++++++
Регистрация: 28.05.2003
Адрес: в глуши
Цитата:
Сообщение от corvax Посмотреть сообщение
При передаче же с сервера на клиент AOS "закрывает соединение с компьютером" уже на 100 Mb
В Ax2009 для передачи файлов использую binData.getData() на сервере и потом binData.setData() на клиенте.
И на некоторых компьютерах была замечена ошибка при передаче контейнера, полученного методом getData(). Начиная с определённых размеров контейнера он начинает передаваться пустой. Зависит это именно от компьютера, а не от пользователя. На других компьютерах такое не наблюдается. То ли в настройках операционной системы что-то не то, то ли недоустановлен компонент какой-то.
__________________
Дмитрий
Старый 31.03.2014, 16:14   #6  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,952 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Свободную память на компьютере проверьте.
Может на конкретной тачке тупо не хватило памяти.
Старый 31.03.2014, 16:28   #7  
Damn is offline
Damn
Участник
 
436 / 154 (6) ++++++
Регистрация: 28.05.2003
Адрес: в глуши
Передаётся файл размером около 10 мегабайт. На это памяти должно хватить. Да и ошибка не является плавающей, она возникает на этом компьютере всегда когда происходит операция с файлом такого размера.
__________________
Дмитрий
Старый 01.04.2014, 11:04   #8  
Damn is offline
Damn
Участник
 
436 / 154 (6) ++++++
Регистрация: 28.05.2003
Адрес: в глуши
И главное при попытке вставить в метод binData.setData пустой контейнер аксапта не выдаёт ошибку. Просто прекращает дальнейшее выполнение программного кода на этом. Это существенно осложнило поиск ошибки.
Не пробовал вставлять binData.setData внутрь try catch или внутрь транзакции.
__________________
Дмитрий
Старый 01.04.2014, 12:41   #9  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от Damn Посмотреть сообщение
Передаётся файл размером около 10 мегабайт. ошибка не является плавающей, она возникает на этом компьютере всегда когда происходит операция с файлом такого размера.
Посмотрите тему Падает клиент при прикреплении документа
За это сообщение автора поблагодарили: Damn (2).
Старый 01.04.2014, 15:05   #10  
Damn is offline
Damn
Участник
 
436 / 154 (6) ++++++
Регистрация: 28.05.2003
Адрес: в глуши
Цитата:
Сообщение от gl00mie Посмотреть сообщение
Ну ёлы-палы, именно в этом и была проблема Причём я эту тему уже давным давно прочитал и во всех наших конфигурационных файлах добавил maxbuffersize. Все пользователи запускают аксапту с ярлыками, ссылающимися на конфигурационные файлы. А пользователь с проблемным компьютером оказывается запускал аксапту без конфигурационного файла, с конфигурацией по умолчанию. Соответственно без настройки maxbuffersize.
__________________
Дмитрий
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
daxis: Troubleshooting blocked SPIDS in AOS Blog bot DAX Blogs 0 01.04.2009 18:05
Arijit Basu: AX 4 AOS Basics: [Level 100] Blog bot DAX Blogs 0 18.11.2007 14:30
Ещё один вопрос Возможность выбора сервера AOS у тонкого клиента Maksim13 DAX: Администрирование 7 19.10.2005 17:35
Настройка AOS или удаленный доступ тонкого клиента chuf DAX: Администрирование 10 13.01.2004 17:15
Какоие порты используются при соединении тонкого клиента и AOS? TEXX DAX: Администрирование 2 04.02.2003 18:07

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 16:56.