Имя: Пароль:
1C
 
Соединение с агентом сервера из C#
0 elian_hunter
 
06.05.18
17:02
Вот этот код в 1С работает без проблем:
Коннектор = Новый COMОбъект("V83.COMConnector");
КонтекстАгента = Коннектор.ConnectAgent("localhost");

А вот этот код в VS на этом же компьютере работать не хочет:
Type connectorType = Type.GetTypeFromProgID("V83.COMConnector");
dynamic connector = Activator.CreateInstance(connectorType);
dynamic agentContext = connector.ConnectAgent("localhost");

Говорит, что объект не содержит описания для ConnectAgent...
Почему так?
1 Fram
 
06.05.18
19:45
2 oleg_km
 
07.05.18
09:37
(1) Т.е. вместо:

connector.ConnectAgent("localhost");

надо:

InvokeMember
3 Serginio1
 
07.05.18
13:16
static object CallMethod(object obj, string MethodName, params object[] args)
        {

            var res = obj.GetType().InvokeMember(MethodName,
                     BindingFlags.Instance | BindingFlags.Public | BindingFlags.InvokeMethod | BindingFlags.FlattenHierarchy | BindingFlags.IgnoreCase,
                     null, obj, args);

            return res;

        }


            object connector = Activator.CreateInstance(comType);


            var Agent = CallMethod(connector,"ConnectAgent", sn);