Показать сообщение отдельно
Старый 25.09.2007, 18:20   #1  
Кирен is offline
Кирен
Участник
 
22 / 10 (1) +
Регистрация: 03.02.2004
Адрес: Украина, г. Донецк
Использование COM Connector'a в службах Windows
Axapta 3.0 SP4.

Вопрос пограничный: про Аксапту и сторонние программы.

Есть приложение на C#.
Приложение состоит из двух частей.
Клиентская часть приложения делает запрос серверной части на Аксаптовские данные.
Серверная часть с помощью Axapta COM Connector забирает эти данные и передаёт клиенту.

Изначально серверная часть была реализована как Console Application.
Всё достаточно четко работало.

Но при попытке реализовать серверную часть как службу Windows возникли проблемы.
Служба создаётся, запускается, но в момент вызова метода сервера на клиенте
(для получения данных сервера клиентом используется .NET Remoting и web-сервисы)
появляется сообщение:
"**** System.Runtime.Remoting.RemotingException - Server encountered an internal error.
For more information, turn on customErrors in the server's .config file"


Если подключится к серверному процессу в режиме отладки, то момент вылетания в catch определяется в следующем коде:

X++:
ax = new AxaptaCOMConnector.Axapta2Class();
IDictionary login=(IDictionary)ConfigurationSettings.GetConfig("AxCOMConnectorLogin");
try
{
	ax.Logon2(login["Login"],login["Password"],"","","","",login["AxConfiguration"],false,null,null);
}
catch(Exception err)
{
	Console.WriteLine(err.Message+login["Login"]+login["Password"]);
}
Текст сообщения об ошибке на сервере (err.Message):
"QueryInterface for interface AxaptaCOMConnector.IAxapta2 failed"

Вопрос: знает ли кто-нибудь об особенностях использования Axapta COM Connector в службах Windows?
Есть ли какие-то ограничения?
И вообще, можно ли делать вызовы COM Connector'a в службах Windows?

Повторюсь: если серверная часть реализована как Console Application, то клиент получает запрашиваемые им данные.

Последний раз редактировалось Кирен; 25.09.2007 в 18:31. Причина: дополнение