Pregunta

Estoy escribiendo una aplicación personalizada de peso ligero (también conocido como estado, presencia, etc.) utilizando la API de Microsoft Lync 2010. Debe ejecutarse después del inicio/inicio de sesión, pero me he encontrado con un problema cuando inicio de sesión después de iniciar/reinicio la máquina. Recibo el siguiente error del LyncClient.GetClient método

System.Runtime.inTeropServices.comexception (0x800706be): la llamada de procedimiento remoto falló. (Excepción de HRESULT: 0x800706Be) en Microsoft.Office.uc.iucOfficeIngation.getInterface (String _version, oiinterface _interface) en Microsoft.lync.model.lyncclient.getClient ()

Mi aplicación es una aplicación Clickonce que se ejecuta desde una unidad de red. Está disponible solo en modo en línea. El archivo .application se llama desde un archivo por lotes que se ejecuta desde NetLogon. Funciona bien si ejecuto el archivo por lotes después de que mi computadora se haya ejecutado por un tiempo. También funciona si cierre sesión y luego vuelvo a iniciar sesión. Por lo tanto, supongo que se requiere un servicio que aún no ha comenzado cuando el LyncClient.GetClient se llama método.

¿Fue útil?

Solución

Estoy de acuerdo en que es un servicio que está esperando, y agradecería una suposición en el servicio "Llamada de procedimiento remoto (RPC)". Este es el servicio que permite la comunicación COM (es decir, maneja las solicitudes de activación de COM, entre otras cosas).

Es incómodo probar esto, ya que Service Control Manager no le permite cerrar el servicio: es un servicio crítico a medida que los grandes franjas de ventanas dependen de Com.

Para probar, puede verificar el estado de inicio del servicio en código, y luego inicializar Lync cuando se inicia ese servicio.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top