У меня проблема в том, что у меня другое поведение одного и того же кода, когда он запускается как локальная системная служба или как пользователь
Я пытаюсь получить доступ к некоторому оборудованию "etas", которое связано с Ethernet, которое предназначено исключительно для этого оборудования.
IPMSERVERLib.CIPManagerCom2 cip2 = new IPMSERVERLib.CIPManagerCom2();
cip2.CreateIPManager(0, 1);
IPMSERVERLib.ICGetConnectedSystems cs2;
cs2 = cip2.getNewConnectedSystemsObject();
cs2.update();
Console.WriteLine(cs2.getNoOfConnectedSystems()));
Когда я запускаю код как пользователь, я всегда получаю на всех компьютерах правильное число два (две системы)
Когда я запускаю код в качестве службы Windows (веб-службы), я получаю в 20% систем неправильное число.
Я не получаю сообщение об ошибке, поэтому код всегда выполняется.
Локальная система должна иметь больше прав доступа, чем пользователь. Так что я полностью понимаю, почему это не работает.
Версия Windows, версия программного обеспечения продуктов всегда одинаковы.
Чем на самом деле отличается доступ от веб-службы Windows от пользователя?