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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.10.2012, 01:15   #1  
Blog bot is offline
Blog bot
Участник
 
25,643 / 848 (80) +++++++
Регистрация: 28.10.2006
ax-erp: Delete AUC File Of Users
Источник: http://microsoft-dynamics-ax-erp.blo...-of-users.html
==============

X++:
static void ClearAucFileForUsers(Args _args)
{
    System.Array    files;
    int             fileCount;
    int             i;
    str             nextFile;
    str             path = "C:\\Users";
    str             Finalpath;
    str             pattern = "*.auc";
    container       listOfFiles;
    int             DirCount;
   
   
    System.Array    Directories;
    int             j;
    str             nextDir;
    container       listOfDir;
   
    FileIOPermission    dirPermission, filePermission;
    InteropPermission   interopPermission;
    Set                 permissionSet;
   
    new InteropPermission(InteropKind::ClrInterop).assert();
    listOfDir = conNull();
    listOfFiles     = connull();
   
    Directories = System.IO.Directory::GetDirectories(path);
    if(Directories)
    {
        DirCount = Directories.get_Length();
       
        for(j=0; j < DirCount; j++)
        {
            nextDir    = Directories.GetValue(j);
            Finalpath = nextDir + "\\AppData\\Local";
            listOfDir += Finalpath;
        }       
    }
    j=0;
    DirCount = conLen(listOfDir);
    while( j < conLen(listOfDir))
    {
        j++;
        Finalpath = conPeek(listOfDir,j);
        try           
        {
            files           = System.IO.Directory::GetFiles(Finalpath, pattern);
        }
        catch
        {
            continue;   
        }
        if (files)
        {
            fileCount =    files.get_Length();
           
            for(i=0; i < fileCount; i++)
            {
                nextFile    = files.GetValue(i);
                System.IO.File::Delete(nextFile);       
                info(nextFile);
            }
        }
    }
   
    CodeAccessPermission::revertAssert();
}



Источник: http://microsoft-dynamics-ax-erp.blo...-of-users.html
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.

Последний раз редактировалось Poleax; 30.10.2012 в 11:53. Причина: оформление
Старый 31.10.2012, 16:14   #2  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 646 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Какой-то бессмысленный Job, или я чего-то не понимаю. Если все пользователи всё равно работают на одном копьютере, почему бы руками просто не удалить все AUC-файлы.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 31.10.2012, 16:23   #3  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 646 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Поделюсь и своим способом решения проблемы с AUC-файлами (ну, то есть, на единоличное авторство не претендую, но предпочитаю именно его).
  1. Останавливаем AOS серверы.
  2. Идём в базу. Находим таблицу SYSSQMSETTINGS.
  3. В таблице должна быть ровно одна строка. Очищаем значение поля GLOBALGUID (в принципе, можно и строку целиком удалить - побочных эффектов пока не замечено).
  4. Запускаем AOS серверы.

GLOBALGUID - уникальный идентификатор среды. Применимость AUC-файлов к определённой среде проверяется именно по этому идентификатору. При запуске AOSов будет сгенерирован новый идентификатор и, соответственно, все старые AUC-файлы с этого момента будут игнорироваться клиентами, так как GUID в них будет другой.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
За это сообщение автора поблагодарили: Vadik (1), S.Kuskov (5).
Старый 31.10.2012, 17:33   #4  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1850 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Клево. Только если так делать регулярно, при сотнях юзеров работающих в терминале \ через Citrix профайлы достаточно быстро за@@@тся этими неактуальными кэшами и чистить все равно придется, но уже по другой причине - место закончится. Лучше уж в операционке заскриптовать
__________________
-ТСЯ или -ТЬСЯ ?
Старый 31.10.2012, 18:22   #5  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,971 / 3268 (116) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от Maxim Gorbunov Посмотреть сообщение
Поделюсь и своим способом решения проблемы с AUC-файлами (ну, то есть, на единоличное авторство не претендую, но предпочитаю именно его).
  1. Останавливаем AOS серверы.
  2. Идём в базу. Находим таблицу SYSSQMSETTINGS.
  3. В таблице должна быть ровно одна строка. Очищаем значение поля GLOBALGUID (в принципе, можно и строку целиком удалить - побочных эффектов пока не замечено).
  4. Запускаем AOS серверы.

GLOBALGUID - уникальный идентификатор среды. Применимость AUC-файлов к определённой среде проверяется именно по этому идентификатору. При запуске AOSов будет сгенерирован новый идентификатор и, соответственно, все старые AUC-файлы с этого момента будут игнорироваться клиентами, так как GUID в них будет другой.
Помнится с этим был связан глюк когда при копировании рабочей базы в тестовое приложение GLOBALGUID сохранялся и таким образом в дальнейшем при работе в рабочей могли цепляться AUC кеши от тестового аоса и на рабочей можно было исполнять неродной код.
Старый 31.10.2012, 18:23   #6  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,971 / 3268 (116) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от Maxim Gorbunov Посмотреть сообщение
Какой-то бессмысленный Job, или я чего-то не понимаю. Если все пользователи всё равно работают на одном копьютере, почему бы руками просто не удалить все AUC-файлы.
Это вы зря.
Руками очень долго прошариваться по сотням папочек.
Старый 31.10.2012, 19:30   #7  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
В Windows Explorer есть замечательная функция, называется "Поиск"

Делаете поиск по *.auc, и удаляете... по папочкам не приходится бегать
Старый 31.10.2012, 20:26   #8  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,971 / 3268 (116) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Не настолько уж она и замечательная.
Как показывает практика такой перебор внутри одного терминальник как по сотням юзерских папок с перебором всех подпапок выполняется долго.
Нужна функция в виде джоба или скрипта.

А лучше бы давно ядро в Аксапте пофиксить, чтобы нормально кеши обновлялись.
Старый 31.10.2012, 21:08   #9  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1850 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от Logger Посмотреть сообщение
Нужна функция в виде джоба или скрипта
Scripting Guy Вам в помощь
__________________
-ТСЯ или -ТЬСЯ ?
Старый 31.10.2012, 22:44   #10  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 646 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Цитата:
Сообщение от Vadik Посмотреть сообщение
Клево. Только если так делать регулярно, при сотнях юзеров работающих в терминале \ через Citrix профайлы достаточно быстро за@@@тся этими неактуальными кэшами и чистить все равно придется, но уже по другой причине - место закончится. Лучше уж в операционке заскриптовать
Не понял. А зачем это делать регулярно?
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 31.10.2012, 22:45   #11  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 646 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Цитата:
Сообщение от Logger Посмотреть сообщение
Помнится с этим был связан глюк когда при копировании рабочей базы в тестовое приложение GLOBALGUID сохранялся и таким образом в дальнейшем при работе в рабочей могли цепляться AUC кеши от тестового аоса и на рабочей можно было исполнять неродной код.
Да. Собственно, из того случая и родился этот метод.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 31.10.2012, 22:49   #12  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 646 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Цитата:
Сообщение от Logger Посмотреть сообщение
А лучше бы давно ядро в Аксапте пофиксить, чтобы нормально кеши обновлялись.
Слушайте. Я всерьёз заинтересовался. А что нужно фиксить? Почему они нормально не обновляются?

У меня были случаи, но они в основном были связаны с падениями АОС и файл-сервера. Вернее даже, просто файл-сервера. АОС при этом терялся и отправлял на клиентов какой-то мусор, который потом и приходилось чистить из кэша. Но это явно была не типичная ситуация. А судя по вашим отзывам, кэш приходится чистить сплошь и рядом. Почему?
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 31.10.2012, 23:01   #13  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 646 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Цитата:
Сообщение от Logger Посмотреть сообщение
Это вы зря.
Руками очень долго прошариваться по сотням папочек.
Вы меня, конечно, извините, если я что-то неправильно понял, но почему нельзя вот так?
del C:\Users\*.auc /S
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 31.10.2012, 23:26   #14  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1850 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от Maxim Gorbunov Посмотреть сообщение
Слушайте. Я всерьёз заинтересовался. А что нужно фиксить? Почему они нормально не обновляются?
У меня были случаи, но они в основном были связаны с падениями АОС и файл-сервера. Вернее даже, просто файл-сервера. АОС при этом терялся и отправлял на клиентов какой-то мусор, который потом и приходилось чистить из кэша. Но это явно была не типичная ситуация. А судя по вашим отзывам, кэш приходится чистить сплошь и рядом. Почему?
Да просто все. Порядка 600 пользователей, 4 AOS-а в режиме балансировки нагрузки, 6 Citrix серверов. Чем разбираться, у кого что не не работает \ не обновилось \ протухло и не из-за кэша ли это, проще эти кэши чистить регулярно
__________________
-ТСЯ или -ТЬСЯ ?
За это сообщение автора поблагодарили: Logger (1).
Старый 01.11.2012, 09:08   #15  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,495 / 1070 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
А у нас аксапта запускается через скрипт, в котором сперва чистится кеш.

Последний раз редактировалось raz; 01.11.2012 в 09:09. Причина: 1
За это сообщение автора поблагодарили: Vadik (1).
Старый 01.11.2012, 09:35   #16  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2161 (81) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
При активной разработке кеш - очень большое зло, чистим чуть ли не по каждому чиху. Полноценно стопать AOS не всегда возможно. Но в общем, конечно, это не совсем проблема Системы.
__________________
Ivanhoe as is..
Теги
auc, кеш, чистка

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
ax-erp: Creating SSRS-Reports in Dynamics AX 2012 – What’s no longer possible in AX-reports Blog bot DAX Blogs 0 18.07.2012 12:11
emeadaxsupport: New Content for Microsoft Dynamics AX 2012 : October 2011 Blog bot DAX Blogs 0 27.10.2011 17:11
axinthefield: Dynamics AX Event IDs Blog bot DAX Blogs 0 01.03.2011 22:11
daxdilip: Whats New in Dynamics AX 2012 (A brief extract from the recently held Tech Conf.) Blog bot DAX Blogs 7 31.01.2011 12:35
emeadaxsupport: Identical AX 2009 AUC File Created For Multiple AX Installations Blog bot DAX Blogs 0 25.01.2010 16:05

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

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

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