Exportar (0) Imprimir
Expandir todo
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original.
Traducción
Original

EventLog.SourceExists (Método) (String)

Determina si un origen de eventos está registrado en el equipo local.

Espacio de nombres:  System.Diagnostics
Ensamblado:  System (en System.dll)

public static bool SourceExists(
	string source
)

Parámetros

source
Tipo: System.String
Nombre del origen de eventos.

Valor devuelto

Tipo: System.Boolean
true si el origen de eventos está registrado en el equipo local; en caso contrario, false.

ExcepciónCondición
SecurityException

No se ha encontrado source, aunque no se ha podido buscar en algunos de los registros de eventos o en ninguno.

Utilice este método para determinar si existe un origen de eventos en el equipo local. Si desea determinar si existe un registro en el equipo local, utilice Exists.

Debido a que este método obtiene acceso al Registro, se deben tener los permisos adecuados en el equipo local; en caso contrario, se producirá una SecurityException.

NotaNota

Para buscar un origen de eventos en Windows Vista y versiones posteriores o Windows Server 2003, debe tener privilegios de administrador.

La razón de este requisito es que deben buscarse todos los registros de eventos, incluidos los de seguridad, para determinar si el origen del evento es único. A partir de Windows Vista, los usuarios no tienen permiso de acceso al registro de seguridad; por tanto, se produce una excepción SecurityException.

A partir de Windows Vista, el Control de cuentas de usuario (UAC) determina los privilegios de un usuario. Si es miembro del grupo Administradores integrados, se le asignarán dos símbolos (tokens) de acceso en tiempo de ejecución: un símbolo (token) de acceso de usuario estándar y un símbolo (token) de acceso de administrador. De forma predeterminada, se le asignará la función de usuario estándar. Para ejecutar el código que tiene acceso a los contadores de rendimiento, primero debe elevar el nivel de sus privilegios de usuario estándar a administrador. Podrá hacerlo cuando inicie una aplicación haciendo clic con el botón secundario en el icono de la aplicación e indicando que desea ejecutarla como administrador.

NotaNota

Un servicio que se está ejecutando bajo la cuenta LocalSystem no tiene los privilegios exigidos para ejecutar este método. La solución es comprobar si el origen de eventos existe en ServiceInstaller, y si no existe, crearlo en el instalador.

Ya que no se puede proporcionar a un nuevo origen el nombre de un origen existente en el mismo equipo, utilice este método antes de intentar llamar a CreateEventSource para garantizar que un origen con el nombre especificado por source no existe todavía en el equipo local. El parámetro source no distingue mayúsculas y minúsculas.

En el siguiente ejemplo se crea el origen MySource, si es que aún no existe, y se escribe una entrada en el registro de eventos MyNewLog.


using System;
using System.Diagnostics;
using System.Threading;

class MySample{

    public static void Main(){

        // Create the source, if it does not already exist.
        if(!EventLog.SourceExists("MySource"))
        {
            // An event log source should not be created and immediately used.
            // There is a latency time to enable the source, it should be created
            // prior to executing the application that uses the source.
            // Execute this sample a second time to use the new source.
            EventLog.CreateEventSource("MySource", "MyNewLog");
            Console.WriteLine("CreatingEventSource");
            Console.WriteLine("Exiting, execute the application a second time to use the source.");
            // The source is created.  Exit the application to allow it to be registered.
            return;
        }

        // Create an EventLog instance and assign its source.
        EventLog myLog = new EventLog();
        myLog.Source = "MySource";

        // Write an informational entry to the event log.    
        myLog.WriteEntry("Writing to event log.");

        Console.WriteLine("Message written to event log.");                                                                        
    }
}
   


.NET Framework

Compatible con: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft