16.05.2014, 22:12 | #1 |
Участник
|
Debug in DAX 2012 Enterprise Portal
Добрый вечер, коллеги. Столкнулся с определёнными трудностями в отладке портала.
Сделал настройку по данной инструкции http://msdn.microsoft.com/en-us/library/aa629010.aspx АОС стоит на машине 1. Веб - сервер стоит на машине 2. Проделал действия и там и там(согласно инструкции). С машины, где стоит веб-сервер, открываю аксапту с правами администратора, ставлю брикпоинт в классе, который отвечает за необходимый функционал, открываю дебагер до запуска портала, открываю портал, нажимаю кнопочку, по которой должно(по идее) заходить в класс с брикпоинтом...Однако не заходит... Режим отладки в аксапте стоит when breakpoint. Где можно было ступить, подскажите, пожалуйста? DAX 2012 R1 |
|
17.05.2014, 00:03 | #2 |
Участник
|
А в конфигурационной утилите галочки какие стоят?
|
|
17.05.2014, 22:46 | #3 |
Участник
|
В конфигурационной утилите на машине, где АОС стоит или веб-сервер ??
Кстати, на портале, почему-то вернулся Local Client, хотя я менял на business connector. Первое вложение - так как сейчас стоит. Второе(третье) - как меняю. Однако после нажатия ОК всё равно после повторного захода меняется на Local Client. Странно, по инструкции делал вроде |
|
17.05.2014, 23:31 | #4 |
Участник
|
не могу утверждать на 100%. но мне кажется вот ту галочку на третьей картинке, которая у Вас не стоит, надо поставить - enable global breakpoints ...
|
|
17.05.2014, 23:55 | #5 |
Участник
|
В дополнение к совету от kashperuk, вот что говорит книга "Inside Microsoft Dynamics AX 2012" (Глава 2):
Цитата:
For Enterprise Portal code that uses the BCPROXY context to run interpreted X++ code, in the Microsoft Dynamics AX Server Configuration Utility, create a new configuration, if necessary, and select the check box Enable Global Breakpoints.
Для отладки интерпретируемого кода Х++ в Корпоративном Портале используйте контекст BCPROXY, в конфигурационной утилите Microsoft Dynamics Server создайте новую конфигурацию и, если необходимо, установите признак Enable Global Breakpoints. |
|
18.05.2014, 00:40 | #6 |
Участник
|
Цитата:
спасибо Пробуйте, автор |
|
18.05.2014, 11:37 | #7 |
Участник
|
Как вариант можно попробовать отладку X++ в Visual Studio. Работает на любой студии от 2010 до 2013.
Мы этот метод активно используем для отладки веб сервисов - http://daxmusings.codecrib.com/2011/...fast-lane.html
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0 |
|
18.05.2014, 17:41 | #8 |
Участник
|
***
Многочисленные опыты с Порталом 2009 показали, что, хоть ты наизнанку вывернись, никакой отладки, если AOS и веб-сервер стоят на разных машинах, не получается.
Только, если все на одном компьютере. Если отлаживаться из под Студии, то отлаживается то, что написано на С# и если точка остановки непосредственно на той странице, которая запускается из студии отладчиком. А в целом, это и есть самый большой геморрой при создании гибридных решений всякого рода интернет магазинов или веб-сервисов. Обычно с веб-разработкой все немного не так, как с Аксаптой. Для веб приложений нужно иметь возможность делать правки на рабочем экземпляре. Это оправдано, потому что обычно сложность веб-решения на порядок меньше Аксапты и заморачиваться с тестовыми машинами смысла нет. Но, как раз рабочее веб-приложение вы запустить под отладчиком не можете, потому что при этом сервер для использования внешними клиентами блокируется. Ну и сами разные среды программирования вместе все-равно нормально не отлаживаются. В конечном счете получается, что Портал, это совершенно дурацкая примочка, которая никому не нужна, так как она может работать только в интрасети и не может работать в свободном интернете для анонимных пользователей, иначе ее быстро распотрошат. А если Портал может работать только в интрасети, то нафиг он, вообще, нужен, когда можно использовать просто клиента Аксапты? Соответственно, с первого взгляда остается только потребность в одиноко стоящих веб-приложениях, работающих с Аксаптой, но и здесь облом, потому как никакое приложение в свободном интернете не может смотреть в базу Аксапты. Только в свою собственную. А если только в свою собственную базу, то и никакие отладчики не нужны, потому как, есть Аксапта со своим отладчиком. Есть сайт с отладкой в Студии и есть утилита синхронизации данных Аксапты с данными сайта тоже со своим отладчиком. В общем, удобно и красиво никак не получается. Кстати, никто не тестил интернет-магазин в R3? Жутко интересно, удалось ли Майкрософту все-таки сделать из этого рабочую систему, которую можно использовать без рыданий? |
|
18.05.2014, 21:32 | #9 |
Участник
|
Цитата:
Цитата:
|
|
19.05.2014, 11:02 | #10 |
Участник
|
Вот здесь есть небольшой пример настройки для отладки.
Цитата:
Многочисленные опыты с Порталом 2009 показали, что, хоть ты наизнанку вывернись, никакой отладки, если AOS и веб-сервер стоят на разных машинах, не получается.
Только, если все на одном компьютере. |
|
21.05.2014, 11:31 | #11 |
Участник
|
Цитата:
Однако, когда я меняю код, после заново хочу пройтись по нему отладчиком , то в отладчике я вижу старый, неизменённый код. Я закрывал и открывал всё заново, чистил кеш - по-прежнему старый код. |
|
21.05.2014, 12:10 | #12 |
Молодой, подающий надежды
|
А инкрементную компиляцию CIL после изменения кода пробовали?
__________________
Кононов Пётр |
|
21.05.2014, 12:38 | #13 |
Участник
|
Надстройки - инкрементная компиляция(Add-ins - Compile forward)? Да, пробовал, но только класса, в котором делал изменения. Может стоит родителя ещё откомпилировать?
Попробовал сделать - тоже самое. Последний раз редактировалось user_ax; 21.05.2014 в 12:45. |
|
21.05.2014, 12:49 | #14 |
Участник
|
Нет, это не CIL - нужно сделать инкрементную компиляцию именно CIL - это новая кнопочка на панели инструментов Dev. Environment
|
|
21.05.2014, 18:29 | #15 |
Участник
|
Цитата:
Сообщение от kashperuk
Нет, это не CIL - нужно сделать инкрементную компиляцию именно CIL - это новая кнопочка на панели инструментов Dev. Environment
Вложение 8874 Я запустил Full CIL. Надеюсь, будет менее часа идти... Глобальная компиляция CIL тоже не помогла, отладчик всё так же видит старый код. Более того, я удалил breakpoint из метода - отладчик всё равно туда заходит это уже весело... Последний раз редактировалось user_ax; 21.05.2014 в 19:02. Причина: прошла Full CIL |
|
21.05.2014, 19:54 | #16 |
Участник
|
Чтобы изменился код который вы поменяли в Ах, на портале есть специальная кнопка Refresh AOD. Находится в Web/Web menus/EPAdministrator
Можно добавить ссылку на это меню в панель QuickLaunch в модуль, в котором вы работаете. Так же это меню есть на домашней странице. |
|
|
За это сообщение автора поблагодарили: Logger (1), user_ax (1). |
21.05.2014, 20:10 | #17 |
Участник
|
Цитата:
Попробую, спасибо! |
|
21.05.2014, 20:15 | #18 |
Участник
|
Refresh AOD помогло, спасибо, Dreadlock
|
|
Теги |
debug code, portal, ax2012 |
|
|