Имя: Пароль:
1C
 
Как уменьшить время ожидания при подключении к компьютеру через WMI?
0 TormozIT
 
гуру
05.09.15
09:56
Если на нелокальном компьютере не доступен сервис RPC (Remote procedure call), то при попытке подключения к нему через WMI-locator (WbemScripting.SWbemLocator) я получаю довольно долгое ожидание (20-60 сек). А если таких компьютеров еще и много, то общее ожидание получается очень долгим. Как можно уменьшить ожидание в методе
WbemScripting.SWbemLocator.ConnectServer ?
Перед выполнением этого метода я естественно проверяю хост пингом.

Вот пример кода на 1С
WMI = Новый COMОбъект("WbemScripting.SWbemLocator");
WMI.ConnectServer("ya.ru");

Такой вызов ждет более 60 сек.
1 TormozIT
 
гуру
05.09.15
09:58
Много где пишут, что способа нет. Например тут http://stackoverflow.com/questions/17753679/how-to-set-timeout-for-iwbemlocatorconnectserver
2 TormozIT
 
гуру
05.09.15
10:23
В общем придется перед вызовом метода делать асинхронный rpcping -s <имясервера> и прекращать ожидание по своему счетчику времени.
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.