RIA crumbs.

Blog about RIA development. ActionScript, JavaScript and more.

Adobe AIR, MS WPF, MDM Zink: Краш-тест работы с файловой системой

8 comments

Для начала кратко о проблеме которая натолкнула на данный тест.

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

Проблема: Пользователь умудрился при помощи приложения создать путь (серию папок, одна из них 191 символ) которые превысили лимит ОС в 254 символа, в связи с чем AIR отказался копировать что-либо в эту папку, или вообще с ней хоть как-то работать.

Решение: Введен лимит на длину папок и имен файлов (exception catcher до этого был только)

В свете вышеописанных событий, возникла идея провести тест для трех “конкурентных” технологий. Дабы проверить их поведение в данных ситуациях.

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

1. Microsoft WPF (Windows Presentation Foundation) - отказалась создавать такой путь, при этом сообщив нам о том, что мы пытаемся превысить лимит (“The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.”);

2. MDM Zink (известная обертка для Flash/Flex приложений, которая дает доступ к файловой системе и не только) – отказалась создавать путь, но молча тихо и по партизански.

И наш “победитель”:

3. Adobe AIR – позволяет создать скольугодно длиные и вложенные пути, которые потом сложно удалить стандартными методами, можно удалить только отключив длинные имена в Total Commander или воспользовавшись старым добрым Volcov Commander. Казалось бы, что Adobe молодцы, но вся загвоздка в том, что они позволяют создать эти папки, но они не работают с ними (нельзя вних что-то скопировать к примеру) и не дают удалить потом созданные папки, выдавая нам File I/O Error.

Итог: Чем думаю Адобовские девелоперы? Позволяя делать то с чем они и сами не могут работать.

Written by reijii

November 24th, 2008 at 8:43 pm

8 Responses to 'Adobe AIR, MS WPF, MDM Zink: Краш-тест работы с файловой системой'

Subscribe to comments with RSS or TrackBack to 'Adobe AIR, MS WPF, MDM Zink: Краш-тест работы с файловой системой'.

  1. Ну ты им и засабмить такой баг :)

    Constantiner

    24 Nov 08 at 11:49 pm

  2. В процессе :) Только вот интересно пофиксят ли.

    reijii

    25 Nov 08 at 12:29 am

  3. видимо всё-таки нужно тестировать не WPF а Silverlight.
    Silverlight вообще не дает создавать папки, можно только создать папку руками в SaveDialog так что эта проблема “как бы” отлетает. Другой вопрос что Framework не дает возможности работать с файлами, путь к которым превышает максимальный путь операционной системы, про папки не тестировал, но думаю что создать он может.

    arkhivania

    9 Dec 08 at 7:30 pm

  4. Зачем мне было тестировать Silverlight, если вопрос стоял для десктопного приложения ?

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

    reijii

    9 Dec 08 at 8:41 pm

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

    Katrien

    11 Dec 08 at 8:43 pm

  6. и со второго не добавится. Спам не пройдет :)

    reijii

    11 Dec 08 at 9:06 pm

  7. Ожидал от темы более глубокого анализа. Хотелось бы услышать о – создании, чтении, записи файлов. Оценку этого для AIR и Zink (не все там гладко и просто как написано у них в доках).
    Как работают AIR и Zink с файловой системой в разных ОС.

    Psih

    24 Dec 08 at 12:20 am

  8. Могу устроить, скинь перечень того что интересует, сделают тестик, могу для справедливости ради подрубить еще и WPF к твоему запросу.

    reijii

    24 Dec 08 at 1:42 am

Leave a Reply