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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 04.06.2012, 12:33   #1  
jonny is offline
jonny
Участник
Аватар для jonny
Самостоятельные клиенты AX
 
217 / 124 (5) +++++
Регистрация: 10.02.2006
Адрес: СПб-Екб-?
InteropPermission в пакетном режиме
Всем доброго времени суток.
Опять избитая тема - Сбой запроса на разрешение типа "InteropPermission". при выполнении кода с использованием .NET в пакетном режиме.

new InteropPermission(InteropKind::ClrInterop).assert()

вызываю, при запуске руками на стороне сервера все ок, но в пакетном режиме валится ошибка, при чем "через раз".
Кто подскажет где искать проблему?
Старый 04.06.2012, 12:40   #2  
Bega is offline
Bega
Участник
Аватар для Bega
 
382 / 444 (15) +++++++
Регистрация: 18.08.2005
Адрес: Москва
Цитата:
Сообщение от jonny Посмотреть сообщение
Всем доброго времени суток.
Опять избитая тема - Сбой запроса на разрешение типа "InteropPermission". при выполнении кода с использованием .NET в пакетном режиме.

new InteropPermission(InteropKind::ClrInterop).assert()

вызываю, при запуске руками на стороне сервера все ок, но в пакетном режиме валится ошибка, при чем "через раз".
Кто подскажет где искать проблему?
Что именно вызывается в .Net?
Старый 04.06.2012, 13:23   #3  
pedrozzz is offline
pedrozzz
Молодой, подающий надежды
Аватар для pedrozzz
MCBMSS
Лучший по профессии 2015
 
160 / 214 (8) ++++++
Регистрация: 18.02.2010
Адрес: Краснодар
А CLR не генерит никакой осмысленной ошибки?
X++:
    try
    {
    }
    catch (Exception::CLRError)
    {
        error(AifUtil::getClrErrorMessage());
    }
Старый 04.06.2012, 13:34   #4  
jonny is offline
jonny
Участник
Аватар для jonny
Самостоятельные клиенты AX
 
217 / 124 (5) +++++
Регистрация: 10.02.2006
Адрес: СПб-Екб-?
Использую пространство имен System.Data.SqlClient - читаю данные из внешнего источника.
Нет, никакого осмысленного сообщения не получаю, валится все на попытке создать
экземпляр SqlCommand
X++:
command = new System.Data.SqlClient.SqlCommand();
Старый 04.06.2012, 14:03   #5  
MikeR is offline
MikeR
MCT
Аватар для MikeR
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
 
1,626 / 621 (24) +++++++
Регистрация: 28.11.2005
Адрес: просто землянин
Если до этого момента, все работало, то смотрите в сторону изменения пароля учетки, из-под которой все крутится, названия сервера. На самом деле странно - зачем было "скульный" код оборачивать в сборку, а не в хранимую процедуру. Ну да ладно.
__________________
Axapta book for developer
Старый 04.06.2012, 14:51   #6  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,603 / 5307 (184) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от jonny Посмотреть сообщение
в пакетном режиме валится ошибка, при чем "через раз".
Цитата:
Сообщение от jonny Посмотреть сообщение
валится все на попытке создать экземпляр SqlCommand
X++:
command = new System.Data.SqlClient.SqlCommand();
Выходит, дело не в InteropPermission, раз валится "через раз"? Как именно валится-то, какой Exception (CLRError/Internal/..)? Если "записать" трассировку кода, когда вылезает ошибка, что там видно?
Старый 03.09.2020, 09:29   #7  
oleggy is offline
oleggy
Участник
 
98 / 18 (1) ++
Регистрация: 03.12.2019
Подскажите а если в пакетном режиме ошибка генерируется вот тут:

X++:
static str getEnvironmentVar(str _env)
{
    System.String var_NET;
    str env, var;
    ;

    env = strReplace(_env, '%', '');
    try
    {
        var_NET = System.Environment::GetEnvironmentVariable(env); // <--- ошибка

        if (!CLRInterop::isNull(var_NET))
        {
            var = CLRInterop::getAnyTypeForObject(var_NET);
        }
        else
        {
            error(strFmt('Environment variable "%1" is not set', _env));
            return '';
        }
    }
    catch (Exception::CLRError)
    {
        error(strFmt('Other CLR error for environment variable "%1"', _env));
        return '';
    }

    return var;
}


И никакие исключения ее не отлавливают:

Сбой запроса на разрешение типа "InteropPermission".
(S)\Classes\InteropPermission\demand
(S)\Classes\CLRInterop\staticInvoke
(S)\Classes\Global\getEnvironmentVar - line 11

Не подскажете как ее отловить?
DAX2009
Старый 03.09.2020, 09:49   #8  
Weez is offline
Weez
Участник
Axapta Retail User
 
232 / 82 (3) ++++
Регистрация: 18.01.2006
Адрес: Moscow city
Сразу после try добавьте new InteropPermission(InteropKind::ClrInterop).assert()

Цитата:
Сообщение от oleggy Посмотреть сообщение
Подскажите а если в пакетном режиме ошибка генерируется вот тут:

X++:
static str getEnvironmentVar(str _env)
{
    System.String var_NET;
    str env, var;
    ;

    env = strReplace(_env, '%', '');
    try
    {
        var_NET = System.Environment::GetEnvironmentVariable(env); // <--- ошибка

        if (!CLRInterop::isNull(var_NET))
        {
            var = CLRInterop::getAnyTypeForObject(var_NET);
        }
        else
        {
            error(strFmt('Environment variable "%1" is not set', _env));
            return '';
        }
    }
    catch (Exception::CLRError)
    {
        error(strFmt('Other CLR error for environment variable "%1"', _env));
        return '';
    }

    return var;
}


И никакие исключения ее не отлавливают:

Сбой запроса на разрешение типа "InteropPermission".
(S)\Classes\InteropPermission\demand
(S)\Classes\CLRInterop\staticInvoke
(S)\Classes\Global\getEnvironmentVar - line 11

Не подскажете как ее отловить?
DAX2009
__________________
Существует 10 типов людей: одни понимают двоичную систему, другие - нет.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Ошибка создания CCADOConnection в пакетном задании ex3em DAX: Программирование 3 22.05.2012 15:50
ошибка обращения к .NET сборке в режиме Server GromRom DAX: Программирование 24 10.11.2011 23:54
клиент аксапты в пакетном режиме как кластерное приложение Almar DAX: Администрирование 5 27.03.2008 07:24
Разноска журналов ГК в режиме пакетной обработки saturnnn DAX: Функционал 5 28.08.2007 13:25
Печать в текстовом режиме VadimVN DAX: Программирование 4 09.01.2004 13:28
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 23:55.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.