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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.05.2013, 18:26   #1  
Narayana is offline
Narayana
Участник
 
241 / 100 (4) +++++
Регистрация: 05.01.2009
Адрес: Москва
Axapta 2009 напрямую из ASP.NET
Наверное, всем, кто поупражнялся в использовании Портала, в какой-то момент приходила мысль о возможности использования Аксапты как источника данных и бизнес-логики для создания легкого сайта, не отягощенного SharePoint-ом.

Как мне показалось, единственным способом получить данные из Аксапты на asp-странице является использование контрола AxDataSource, для которого нужно выбрать заранее созданный в Аксапте DataSet.

Аксаптовский DataSet чем-то очень похож на DataSet в web-проекте на С#.
Такой же набор таблиц со связями.
Только на C# DataSet нужно собирать в web-проекте, а, еcли использовать Аксаптовский, то он уже готов и нужно просто прицепиться к нему AxDataSource-ом.

И все, вроде, замечательно работает внутри Visual Studio 2008 на встроенном веб-сервере, но, как только мы размещаем приложение на IIS, то присутствие на asp-странице AxDataSource сразу же приводит к ошибке, выскакивающей в браузере:
Цитата:

Server Error in '/' Application.

No .NET Business Connector session could be found.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: Microsoft.Dynamics.Framework.BusinessConnector.Session.Exceptions.NoKernelSessionException: No .NET Business Connector session could be found.

Source Error:

Line 43: <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />Line 44: Line 45: <dynamics:AxDataSource ID="AxDataSource1" runat="server" Line 46: DataSetName="EPReferral" ProviderView="Referral">Line 47: </dynamics:AxDataSource>
Source File: c:\A5\Default.aspx Line: 45

Stack Trace:

[NoKernelSessionException: No .NET Business Connector session could be found.] Microsoft.Dynamics.Framework.BusinessConnector.Session.DynamicsSession.get_AxaptaAdapter() +55 Microsoft.Dynamics.Framework.Metadata.Ax.MetadataCache.GetDataSetMetadata(ISession session, String dataSetName) +42 Microsoft.Dynamics.Framework.Portal.UI.WebControls.AxDataSource.GetMetadata(String dsName, Boolean reThrow) +286 Microsoft.Dynamics.Framework.Portal.UI.WebControls.AxDataSource.ValidateDataSetNameAndProviderView(String dsName, String providerName, DataSetMetadata& metadata) +103 Microsoft.Dynamics.Framework.Portal.UI.WebControls.AxDataSource.set_DataSetName(String value) +105 ASP.default_aspx.__BuildControlAxDataSource1() in c:\A5\Default.aspx:45 ASP.default_aspx.__BuildControlform1() in c:\A5\Default.aspx:18 ASP.default_aspx.__BuildControlTree(default_aspx __ctrl) in c:\A5\Default.aspx:1 ASP.default_aspx.FrameworkInitialize() in c:\A5\Default.aspx.cs:912307 System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +55 System.Web.UI.Page.ProcessRequest() +91 System.Web.UI.Page.ProcessRequest(HttpContext context) +240 ASP.default_aspx.ProcessRequest(HttpContext context) in c:\Windows\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\root\bc314b82\d1cf965\App_Web_goaoiejq.0.cs:0 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +599 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +171

Version Information: Microsoft .NET Framework Version:2.0.50727.5466; ASP.NET Version:2.0.50727.5456
И ничего я с этим не могу сделать.

Дело в том, что сама сессия с Аксаптой, вроде бы, предварительно создается методом logon( ",",",") класса Axapta в нэйм-спейсе Microsoft.Dynamics.BusinessConnectorNet и существование сессии проверяется выводом ее номера и количества подключений, но AxDataSource упорно эту сессию видеть не хочет.

Очень хотелось бы знать, - кто-нибудь занимался программированием на asp.net напрямую без SharePoint, используя в качестве источника данных Аксапту и каким образом обходил описанную сложность?

Ах, да, самое интересное!

Если для созданного легокого сайта пул приложений заменить с родного для сайта, на пул приложений работающего Портала на SharePoint, то все начинает работать. AxDataSource видит сессию и нормально таскает данные из Аксапты.

Но, при этом любые попытки натаскать настройки из web.config Портала в web.config легкого сайта ни к чему не приводят!
Теги
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, время: 19:05.