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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.01.2013, 23:35   #1  
Narayana is offline
Narayana
Участник
 
241 / 100 (4) +++++
Регистрация: 05.01.2009
Адрес: Москва
Элементы для Ax User Control в Аксапта 2009 на asp.net
Как известно, основная часть функционала в портале Аксапты 2009 реализована с помощью элемента AxUserControl.
Элементарные задачи решаются довольно просто, - содаешь контрол, а потом натаскиваешь в него элементов из панели и настраиваешь свойства этих элементов. Ну или редактируешь .ASP код контрола руками.

Читаем руководство.

"Working Directly in Code
In some cases, you will work directly in the code for the User Control. For
instance, some components for the User Control are not available in the Toolbox.
Instead, you view the source code for the User Control, and add the code that
references the component."

Сразу возникает логичный вопрос, - а где доступны для ознакомления элементы, не вошедшие в Toolbox?

На Х++, пожалуйста, есть референс с перечислением всех классов. Пусть большинство классов не документированы, но хотя бы перечислены.
А здесь как?

Прошерстил всю документацию, - ничего нету.

Может быть, кто-нибудь знает где искать?
Или по партизански изучать рабочие образцы?
Не солидно как-то получается...
Старый 22.01.2013, 09:44   #2  
Dreadlock is offline
Dreadlock
Участник
Аватар для Dreadlock
 
298 / 224 (8) ++++++
Регистрация: 07.05.2009
Адрес: Москва
Цитата:
На Х++, пожалуйста, есть референс с перечислением всех классов. Пусть большинство классов не документированы, но хотя бы перечислены.
А здесь как?
На MSDN'e много всего написано про классы и сборки. Добавили референс на сборку в свой UserControl, и сразу на MSDN.
Еще можно почитать книжку по ASP.Net/AJAX/HTML/CodeDOM/JavaScript

Цитата:
Или по партизански изучать рабочие образцы?
Обычно смотришь рабочий образец, или можно еще посмотреть пользовательские элементы типа: tutorial_*.ascx
За это сообщение автора поблагодарили: Narayana (1).
Старый 22.01.2013, 11:38   #3  
Narayana is offline
Narayana
Участник
 
241 / 100 (4) +++++
Регистрация: 05.01.2009
Адрес: Москва
Цитата:
Сообщение от Dreadlock Посмотреть сообщение
На MSDN'e много всего написано про классы и сборки. Добавили референс на сборку в свой UserControl, и сразу на MSDN.
Еще можно почитать книжку по ASP.Net/AJAX/HTML/CodeDOM/JavaScript


Обычно смотришь рабочий образец, или можно еще посмотреть пользовательские элементы типа: tutorial_*.ascx
В книжке просто по ASP.Net элементы Аксапты не описываются, а вот смотреть содержание сборки на MSDN, - это мысль. А не может так оказаться, что на MSDN про Аксаптовские сборки ничего не будет?

tutorial_*.ascx ..., - а ведь про эти страницы в хелпе упоминалось!
Старый 22.01.2013, 11:57   #4  
Dreadlock is offline
Dreadlock
Участник
Аватар для Dreadlock
 
298 / 224 (8) ++++++
Регистрация: 07.05.2009
Адрес: Москва
Цитата:
В книжке просто по ASP.Net элементы Аксапты не описываются
Все ASP элементы аксапты унаследованы от обычных элементов ASP. Например AxFrom от Form, AxDataSource от SqlDataSource или ObjectDataSource, только AxDataSource лезет не в базу напрямую, а через АОС в DataSet. В VS можно смотреть, что от чего наследуется и видеть события классов родителей, их потомков и т.д. через ObjectExplorer.
Старый 22.01.2013, 16:27   #5  
Narayana is offline
Narayana
Участник
 
241 / 100 (4) +++++
Регистрация: 05.01.2009
Адрес: Москва
Цитата:
Сообщение от Dreadlock Посмотреть сообщение
Все ASP элементы аксапты унаследованы от обычных элементов ASP. Например AxFrom от Form, AxDataSource от SqlDataSource или ObjectDataSource, только AxDataSource лезет не в базу напрямую, а через АОС в DataSet. В VS можно смотреть, что от чего наследуется и видеть события классов родителей, их потомков и т.д. через ObjectExplorer.
Угу, спасибо, буду разбираться.
А не подскажите, такую штуку...
Вот, я в файле конфигурации Портала, который лежит на IIS, разрешил отладку командой debag = "true", а в VS настроил ссылку на начальный URL на страницу портала, к которой прицеплен контрол.
Теперь очень удобно отлаживать разрабатываемый контрол непосредственно на Портале, но IIS, сюка, обрывает через несколько минут процесс с сообщением, что превышен лимит времени отладки на IIS и что это настраивается в конфигурации пула приложения.
А я не могу найти.
Не подскажите, где это настраивается?
Старый 22.01.2013, 17:07   #6  
Dreadlock is offline
Dreadlock
Участник
Аватар для Dreadlock
 
298 / 224 (8) ++++++
Регистрация: 07.05.2009
Адрес: Москва
Цитата:
Сообщение от Narayana Посмотреть сообщение
Угу, спасибо, буду разбираться.
А не подскажите, такую штуку...
Вот, я в файле конфигурации Портала, который лежит на IIS, разрешил отладку командой debag = "true", а в VS настроил ссылку на начальный URL на страницу портала, к которой прицеплен контрол.
Теперь очень удобно отлаживать разрабатываемый контрол непосредственно на Портале, но IIS, сюка, обрывает через несколько минут процесс с сообщением, что превышен лимит времени отладки на IIS и что это настраивается в конфигурации пула приложения.
А я не могу найти.
Не подскажите, где это настраивается?
Здесь пишут, что все дело в ping enabled. Надо поставить false и увеличить значение Ping Maximum Response Timeout.

Хотя я когда-то делал немного иначе, через AsyncPostBackTimeout (этот параметр увеличивает время ожидания для долгих асинхронных операций).
За это сообщение автора поблагодарили: gl00mie (3).
Старый 22.01.2013, 18:23   #7  
Narayana is offline
Narayana
Участник
 
241 / 100 (4) +++++
Регистрация: 05.01.2009
Адрес: Москва
Цитата:
Сообщение от Dreadlock Посмотреть сообщение
Здесь пишут, что все дело в ping enabled. Надо поставить false и увеличить значение Ping Maximum Response Timeout.

Хотя я когда-то делал немного иначе, через AsyncPostBackTimeout (этот параметр увеличивает время ожидания для долгих асинхронных операций).
Спасибо, помогло.
Старый 23.01.2013, 01:24   #8  
Narayana is offline
Narayana
Участник
 
241 / 100 (4) +++++
Регистрация: 05.01.2009
Адрес: Москва
Цитата:
Сообщение от Dreadlock Посмотреть сообщение
Здесь пишут, что все дело в ping enabled. Надо поставить false и увеличить значение Ping Maximum Response Timeout.

Хотя я когда-то делал немного иначе, через AsyncPostBackTimeout (этот параметр увеличивает время ожидания для долгих асинхронных операций).
Поработал с отладчиком. Настроение убиться ап стенку. Не... все, вроде, работает. Только ничего непонятно.
Содержание переменных чаще всего состоит из длинных-длинных имен каких-то сборок.
Вложенность часто по десять-двадцать-тридцать уровней.
Это, вообще, кто-нибудь понимает?!

Работаю с визардом создания заказов на продажу в Портале.
Внешне с шагами пользователя все просто.
ASP-шная страничка тоже понятная.
C# код внешне не очень большой.
Но, когда отладчик начинает по нему прыгать, становится дурно.

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

А визарды, это чисто ASP-шная конструкция?
Старый 23.01.2013, 13:49   #9  
Narayana is offline
Narayana
Участник
 
241 / 100 (4) +++++
Регистрация: 05.01.2009
Адрес: Москва
Как ни хотелось откосить от изучения C#, но вот скачал спецификации языка и, кажется, все там написано. Правда, 500 страниц. А че делать, придется читать.
Мораль, - без знания Шарпа в Портал не суйся!
http://msdn.microsoft.com/ru-ru/vcsharp/aa336809.aspx

Последний раз редактировалось Narayana; 23.01.2013 в 14:05.
Старый 24.01.2013, 00:43   #10  
Narayana is offline
Narayana
Участник
 
241 / 100 (4) +++++
Регистрация: 05.01.2009
Адрес: Москва
Сорри, на нервной почве эмоции переполняют... )
Оказывается, C#, это довольно клевая штука.
Длинные сборки в полях значений переменных, это, оказывается, отладчик не только состояние кода на Шарпе показывает, но и состояние ASP тоже.

Довольно занятно получается.
Импортируем контрол, над которым хотим поиздеваться в Студию, издеваемся, сохраняем. Контрол сохраняется при этом в АОТе, а дальше совсем красиво.
Запускаем отладчик и отладчик запускает наш контрол не в веб-сервере Студии, а прям на IIS в сайте Портала. Контрол оказывается не изолированным от Портала, а варится прям в своей среде. Состояние и Шарпа, и ASP тегов видны в отладчике.

Не..., это уже кое-что!
И сам Шарп погибчее, пожалуй, чем Х++ будет... )
По крайней мере, хоть переменную в любом месте объявить можно.
Старый 24.01.2013, 11:11   #11  
Dreadlock is offline
Dreadlock
Участник
Аватар для Dreadlock
 
298 / 224 (8) ++++++
Регистрация: 07.05.2009
Адрес: Москва
Цитата:
А визарды, это чисто ASP-шная конструкция?
Да, есть контролька такая специальная
Старый 24.01.2013, 15:44   #12  
Narayana is offline
Narayana
Участник
 
241 / 100 (4) +++++
Регистрация: 05.01.2009
Адрес: Москва
Цитата:
Сообщение от Dreadlock Посмотреть сообщение
Да, есть контролька такая специальная
Я так чувствую, вы здесь один из немногих, у кого руки дошли до Портала и разбираетесь. Для меня вы человек очень ценный... )

Может быть, тогда я позадаю вам текущие вопросы, так сказать, по ходу дела?

Вот например такая штука.
Допустим, у нас есть один из контролов, который я хочу отладить или хотя бы понять логику работы кода на Шарпе.
В обычных программах на Шарпе, которые в конечном счете представляют собой экзешник, обязательно есть метод main, которому загрузчик изначально передает управление.
А в коде контрола такого метода нет.

Не объясните с чего начинается выполнение кода в контрольке?
Если нет main, то, может быть, с обработки каких-нибудь событий?
Каких?

А то сейчас я просто ставлю брек на определении первых переменных и дальше уже щелкаю...

И еще...
Почему-то отладчик не всегда подхватывается после запуска сайта.
Пишет, что точка остановки плохая, так как не загружены все отладочные символы.
Плюс глюк, - как только укажешь в стартовом юрле свою страницу, после этого при попытке открыть корень проекта правой кнопкой выдается ошибка и вся Аксаптовская функциональность в Аксапте пропадает...
Не сталкивались?

И еще в ивентах сервера ну, очень много сообщений о том, что не найден бизнес-коннектор.
Это из-за кривизны взаимодействия Студии с АОSом?

Последний раз редактировалось Narayana; 24.01.2013 в 16:00.
Старый 24.01.2013, 21:12   #13  
Dreadlock is offline
Dreadlock
Участник
Аватар для Dreadlock
 
298 / 224 (8) ++++++
Регистрация: 07.05.2009
Адрес: Москва
Цитата:
Сообщение от Narayana Посмотреть сообщение
Вот например такая штука.
Допустим, у нас есть один из контролов, который я хочу отладить или хотя бы понять логику работы кода на Шарпе.
В обычных программах на Шарпе, которые в конечном счете представляют собой экзешник, обязательно есть метод main, которому загрузчик изначально передает управление.
А в коде контрола такого метода нет.

Не объясните с чего начинается выполнение кода в контрольке?
Если нет main, то, может быть, с обработки каких-нибудь событий?
Каких?
все просто, сперва возникает событие pageInit и т.д. (тут надо помнить, что когда странца прорисовалась и отправилась клиенту, и после этого идет запрос от клиента на сервер, то страница вся заново восстанавливается, т.е. pageInit и т.д.).
Еще есть различные события на уровне приложения (т.е. всего сайта).
Я бы настоятельно порекомендовал вам купить книгу по C#, ASP.Net, IIS, JAVA Script + AJAX + CodeDOM и немного разобраться с HTMLем. По началу может пригодиться очень полезный ресурс w3schools.com на нем можно даже запускать некоторые кусочки кода или скрипты + на нем очень много примеров и достойная документация.

Цитата:
И еще...
Почему-то отладчик не всегда подхватывается после запуска сайта.
Пишет, что точка остановки плохая, так как не загружены все отладочные символы.
Да, и это было. У меня это было связано с тем, что я для отладки цеплялся не к тому процессу IIS'а. Я делал следующее - открываю Диспетчер задач, смотрю процесс w3wp.exe, который отожрал больше всего памяти (порой их может быть больше двух), и по PID нахожу его в процессах в VS и запускаю отладку.

Цитата:
Плюс глюк, - как только укажешь в стартовом юрле свою страницу, после этого при попытке открыть корень проекта правой кнопкой выдается ошибка и вся Аксаптовская функциональность в Аксапте пропадает...
Не сталкивались?
Сталкивался. Победить эту багу времени небыло, но я заметил, что если создать новый проект, то ошибка не повторяется.

Цитата:
И еще в ивентах сервера ну, очень много сообщений о том, что не найден бизнес-коннектор.
Это из-за кривизны взаимодействия Студии с АОSом?
Тоже видел, но не разбирался.
Старый 24.01.2013, 21:26   #14  
Narayana is offline
Narayana
Участник
 
241 / 100 (4) +++++
Регистрация: 05.01.2009
Адрес: Москва
Цитата:
Сообщение от Dreadlock Посмотреть сообщение
все просто, сперва возникает событие pageInit и т.д. (тут надо помнить, что когда странца прорисовалась и отправилась клиенту, и после этого идет запрос от клиента на сервер, то страница вся заново восстанавливается, т.е. pageInit и т.д.).
Еще есть различные события на уровне приложения (т.е. всего сайта).
Я бы настоятельно порекомендовал вам купить книгу по C#, ASP.Net, IIS, JAVA Script + AJAX + CodeDOM и немного разобраться с HTMLем. По началу может пригодиться очень полезный ресурс w3schools.com на нем можно даже запускать некоторые кусочки кода или скрипты + на нем очень много примеров и достойная документация.
Ага, спасибо за советы и объяснения, книжку по ASP.Net купил, читаю.

Если можно, еще один момент...

Вот, допустим, код на Шарпе запускает Х++ метод дата-сета, лежащий в дата-сете на Аксапте на АОСе.
Я открываю Аксапту, ставлю брейк в этом методе на Х++ и запускаю на выполнение asp страницу. Вроде бы, код в Х++ методе должен тормознуться и включиться отладчик, но этого почему-то не происходит.
Или отладчик Х++ запускается только при работе из клиента, а при входе в АОС через бизнес-коннектор не запускается?
Старый 24.01.2013, 21:44   #15  
Dreadlock is offline
Dreadlock
Участник
Аватар для Dreadlock
 
298 / 224 (8) ++++++
Регистрация: 07.05.2009
Адрес: Москва
Цитата:
Сообщение от Narayana Посмотреть сообщение
Вот, допустим, код на Шарпе запускает Х++ метод дата-сета, лежащий в дата-сете на Аксапте на АОСе.
Я открываю Аксапту, ставлю брейк в этом методе на Х++ и запускаю на выполнение asp страницу. Вроде бы, код в Х++ методе должен тормознуться и включиться отладчик, но этого почему-то не происходит.
Или отладчик Х++ запускается только при работе из клиента, а при входе в АОС через бизнес-коннектор не запускается?
Да нет, все должно работать. Проверьте настройки BusinessConnector и AOS'а, чтобы можно было отладку запускать и на клиенте и на сервере. И еще необходимо отладчик открывать самому, перед началом отладки. Иногда помогает залогиниться в эксклюзивном консольном режиме под админом на терминальник, что-то типа
Код:
"C:\MyTerminal.rdp" /admin /console
.
Старый 25.01.2013, 01:06   #16  
Narayana is offline
Narayana
Участник
 
241 / 100 (4) +++++
Регистрация: 05.01.2009
Адрес: Москва
Цитата:
Сообщение от Dreadlock Посмотреть сообщение
Да нет, все должно работать. Проверьте настройки BusinessConnector и AOS'а, чтобы можно было отладку запускать и на клиенте и на сервере. И еще необходимо отладчик открывать самому, перед началом отладки. Иногда помогает залогиниться в эксклюзивном консольном режиме под админом на терминальник, что-то типа
Код:
"C:\MyTerminal.rdp" /admin /console
.
...ой, че-то нехорошо мне... )

Сразу чувствуется, что мы с вами забрались туда, где не ступала нога человека... )

Все перепробовал, отладчик Аксапты при запуске Портала через отладчик Студии не цепляется.
Но, при этом срабатывает и показывает ошибку, когда загружаешь проект в Студию. В методах Аксапты.

Сейчас вспоминаю, что при первоначальной инсталяции Аксапты для бизнес-коннектора была какая-то форма с учетными записями. Штук пять этих учетных записей было. Я так и не врубился до конца и оставил ненастроенными. Может быть, это сказывается?

А сейчас никаких форм для настройки бизнес-коннектора найти не могу на странице Администрирования в Аксапте.

Но при этом отладка и для сервера, и для клиента, и для бизнес-коннектора включена.

А вот про подключение в консольном режиме совсем ничего не понял.
Если можно, расскажите подробнее.
Старый 25.01.2013, 10:54   #17  
Narayana is offline
Narayana
Участник
 
241 / 100 (4) +++++
Регистрация: 05.01.2009
Адрес: Москва
Интересная штука.
Отладчик в Аксапте не подхватывается, но сообщения Инфолога в отладчике появляются.
Может быть, при установках брейк-поинтов в методах датасетов отладчик игнорирует брейк-поинты так же, как он из игнорирует в методах кнопок на формах Аксапты?
Старый 25.01.2013, 11:29   #18  
Dreadlock is offline
Dreadlock
Участник
Аватар для Dreadlock
 
298 / 224 (8) ++++++
Регистрация: 07.05.2009
Адрес: Москва
Цитата:
А вот про подключение в консольном режиме совсем ничего не понял.
Если можно, расскажите подробнее.
Если вы разрабатываете портал на терминальном сервере, то нужен консольный режим.

Пуск -> Выполнить (создаете rdp файл подключения к терминалу) подставляете его с параметрами "C:\MyTerminal.rdp" /admin /console
За это сообщение автора поблагодарили: Narayana (1).
Старый 25.01.2013, 11:32   #19  
Dreadlock is offline
Dreadlock
Участник
Аватар для Dreadlock
 
298 / 224 (8) ++++++
Регистрация: 07.05.2009
Адрес: Москва
Цитата:
Все перепробовал, отладчик Аксапты при запуске Портала через отладчик Студии не цепляется.
А он и не должен. Отладчик вы открывает вместе с Аксаптой. Открываете студию. Расставляете точки останова, и в процессе отладки вас будет перенаправлять то в отладчик студии то в отладчик Ах.
Старый 25.01.2013, 12:34   #20  
Narayana is offline
Narayana
Участник
 
241 / 100 (4) +++++
Регистрация: 05.01.2009
Адрес: Москва
Цитата:
Сообщение от Dreadlock Посмотреть сообщение
А он и не должен. Отладчик вы открывает вместе с Аксаптой. Открываете студию. Расставляете точки останова, и в процессе отладки вас будет перенаправлять то в отладчик студии то в отладчик Ах.
Я, вроде, так и делаю.
У меня открыт отладчик Студии и открыт отладчик Аксапты.
Точки останова стоят и в отладчике студии на месте вызова метода из Аксапты, и в коде вызываемого метода.
Но, при этом инфологи, такие же как на сайте появляются и в отладчике Аксапты, а вот остановов в отладчике Аксапты не происходит, словно точки останова игнорируются.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
amer-ax: It was a great day! Blog bot DAX Blogs 3 29.12.2012 01:02
axinthefield: Compatibility Testing for Microsoft Dynamics AX Blog bot DAX Blogs 0 23.06.2012 02:26
kamalblogs: Dynamics Ax 2009 compatibilitywith .Net 4 Blog bot DAX Blogs 0 27.01.2011 17:11
mfp: Microsoft Dynamics AX 2009 White Paper: Integrating a Third Party Version Control System into Microsoft Dynamics AX 2009 Blog bot DAX Blogs 0 09.02.2010 17:05
axStart: Microsoft Dynamics AX 2009 White Paper: Team Foundation Server Version Control Setup Blog bot DAX Blogs 0 27.07.2008 13:06

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

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

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