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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.05.2013, 00:24   #4  
Narayana is offline
Narayana
Участник
 
241 / 100 (4) +++++
Регистрация: 05.01.2009
Адрес: Москва
Вопрос к специалистам по ASP.NET
Попробовал открыть форму "Активные пользователи" в Аксапте и посмотреть, что происходит, когда на тестовой asp.net странице я пытаюсь вызвать метод Logon() из Аксаптовского класса Axapta, лежащего в сборке Microsoft.Dynamics.BusinessConnectorNet .

Оказалось, что сессия с Бизнес-коннектором честно устанавливается, но при этом, присутствующий на asp.net странице Аксаптовский контрол AxDataSource эту сессию не находит.

Дальше интереснее.
Если заменить родной пул приложений сайта на пул приложения работающего на SharePoint Аксаптовского портала, то можно увидеть следующее...
Сессия создается еще до загрузки какой либо страницы с сайта!
То же самое происходит, когда мы открываем тестовый сайт в Visual Studio 2008.
Сессия опять же создается еще до запуска какой либо страницы.

Все это наводит на мысль, что всегда инициализация контрола AxDataSorce происходит ДО вызова любого метода, вызванного событием на asp.net странице, в одном из которых я использую Logon().

То есть, получается, что у нас должен быть создан класс C#, который не привязан ни к одной странице и один из методов этого класса должен запускаться по событию не на странице, а по событию IIS.
Например, по любому запросу любой страницы из браузера клиента.

Дело в том, что веб-приложение кардинально отличается от виндовс-приложения тем, что у веб-приложения нет метода Main(). Соответсвенно, нужно как-то извратиться, чтобы установить сессию с Аксаптой один раз, когда клиент зашел на сайт. Далее, держать ее включенной все время, пока он запрашивает страницы и, наконец, завершить, когда клиент ушел с сайта.
Вот тогда, наверное, AxDataSource всегда будет работать.

Попытки посмотреть, как это устроено в Портале на SharePoint, ни к чему не приводят. Там все закрыто и посмотреть код невозможно.

Получается, что в обычных asp.net приложениях все подключения к данным производятся путем настройки ConnectionString в web.config сайта.
В традиционных windows-приложениях с помощью Logon() и далее работой только с записями отдельных таблиц, но не с Аксаптовским DataSet (судя по хелпу)

А вот использование Data Source в плане интеграции с веб-приложениями нигде не документируется.

Вопрос к знатокам, - как заставить работать код в классе, не привязанный к конкретной странице не по событиям страницы и в каком NameSpace находятся обработчики событий IIS, к которым можно было бы привязать метод с вызовом Logon() ?
Теги
asp.net

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Элементы для Ax User Control в Аксапта 2009 на asp.net Narayana DAX: Программирование 22 25.01.2013 14:28
Существенное снижение производительности после перехода на AX 2009 с Axapta 3.0 Rivez DAX: Функционал 41 17.11.2011 23:54
Solutions Monkey: Migrating X++ web forms to AX 2009 EP asp.net framework Blog bot DAX Blogs 0 09.11.2010 19:05
mbsturk: Ax 2009 Rollup 4 Version Checker Blog bot DAX Blogs 0 29.04.2010 17:05
Введение в Аксапту Роман Кошелев DAX: Прочие вопросы 0 18.12.2001 14:00

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

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

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