Pregunta

Tengo el siguiente trozo de código que funciona bien en Windows Server 2003. Se escribe en el registro de sucesos de aplicación en EventViewer. El mismo código no funciona en Windows 2008. La aplicación se bloquea. Solicitud de ayuda sobre cómo escribir en el registro de eventos en Windows Server 2008.

if (!EventLog.SourceExists("MyServiceLog"))
{
    EventLog.CreateEventSource("MyServiceLog", "Application");
}
//Create an EventLog instance and assign its source.
EventLog eventLog = new EventLog();
eventLog.Source = "MyServiceLog";
//Write an informational entry to the event log.
eventLog.WriteEntry(Header + ": " + FailureReason);
¿Fue útil?

Solución

Se necesita ser miembro del grupo de administradores locales con el fin de crear un nuevo origen de eventos. La fuente probable que existe en el servidor 2003 o si ya tiene los permisos necesarios en ese sistema operativo. En el servidor 2008 el valor por defecto es ejecutar sin privilegios elevados a pesar de que es un administrador. En ese caso, tendrá que hacer clic derecho de su aplicación y seleccione "Ejecutar como Administrador".

Otros consejos

Tiene que ver con los nuevos conjuntos de permisos en Windows 2008 y su cuenta no tiene el acceso privilegiado para crear nuevas fuentes de registro de eventos.

Al crear un instalador para su aplicación, mejor será la creación de esas fuentes de registro de eventos a continuación, ya que normalmente tiene que ejecutar los instaladores con derechos privilegiados.

re 'la aplicación se bloquea' - esto no debería ocurrir en el entorno administrado. Tal vez en este caso se trata de permisos-relacionados, pero que estarán siempre en la oscuridad y reiniciar su aplicación a menos que agregue a la lógica errores mango (es decir excepciones).

Cambiar esto a

try 
{ 
    /* put your event log code here */ 
} 
catch (Exception e) 
{ 
    /* new code to gracefully handle errors */ 
}

y vistazo a la clase de excepción y los campos (como e.Message, e.StrackTrace) que vas a encontrar a saber exactamente lo que está mal y dónde ocurrió.

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