Exportar (0) Imprimir
Expandir todo

EventLog.SourceExists (Método) (String)

Actualización: noviembre 2007

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
)
public static boolean SourceExists(
	String source
)
public static function SourceExists(
	source : String
) : boolean

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.

6s7642se.alert_note(es-es,VS.90).gifNota:

Para poder buscar un origen de eventos en Windows Vista, Windows XP Professional 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. En Windows Vista, los usuarios no tienen permiso de acceso al registro de seguridad; por tanto, se produce una excepción SecurityException.

En 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. Esto se puede hacer cuando se inicia una aplicación haciendo clic con el botón secundario del mouse en el icono de la aplicación e indicando que se desea ejecutar como administrador.

6s7642se.alert_note(es-es,VS.90).gifNota:

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.");                                                                        
    }
}



import System.*;
import System.Diagnostics.*;
import System.Threading.*;

class MySample
{
    public static void main(String[] args)
    {
        // Create the source, if it does not already exist.
        if (!(EventLog.SourceExists("MySource"))) {
            EventLog.CreateEventSource("MySource", "MyNewLog");
            Console.WriteLine("CreatingEventSource");
        }

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

        // Write an informational entry to the event log.    
        myLog.WriteEntry("Writing to event log.");
        Console.WriteLine("Message written to event log.");
    } //main
} //MySample


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

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

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft