EventLog.SourceExists Yöntem

Tanım

Belirli bir olay kaynağını bilgisayarın kayıt defterinde arar.

Aşırı Yüklemeler

Name Description
SourceExists(String)

Bir olay kaynağının yerel bilgisayarda kayıtlı olup olmadığını belirler.

SourceExists(String, String)

Bir olay kaynağının belirtilen bilgisayarda kayıtlı olup olmadığını belirler.

SourceExists(String)

Kaynak:
EventLog.cs
Kaynak:
EventLog.cs
Kaynak:
EventLog.cs
Kaynak:
EventLog.cs
Kaynak:
EventLog.cs
Kaynak:
EventLog.cs
Kaynak:
EventLog.cs
Kaynak:
EventLog.cs

Bir olay kaynağının yerel bilgisayarda kayıtlı olup olmadığını belirler.

public:
 static bool SourceExists(System::String ^ source);
public static bool SourceExists(string? source);
public static bool SourceExists(string source);
static member SourceExists : string -> bool
Public Shared Function SourceExists (source As String) As Boolean

Parametreler

source
String

Olay kaynağının adı.

Döndürülenler

true olay kaynağı yerel bilgisayarda kayıtlıysa; aksi takdirde , false.

Özel durumlar

source bulunamadı, ancak olay günlüklerinin bazıları veya tümü aranamadı.

Örnekler

Aşağıdaki örnek, henüz yoksa kaynağı MySource oluşturur ve olay günlüğüne MyNewLogbir girdi yazar.

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.");
    }
}
Option Explicit
Option Strict
Imports System.Diagnostics
Imports System.Threading

Class MySample
    Public Shared Sub Main()
        ' Create the source, if it does not already exist.
        If Not EventLog.SourceExists("MySource") Then
            EventLog.CreateEventSource("MySource", "MyNewLog")
            Console.WriteLine("CreatingEventSource")
        End If
        
        ' Create an EventLog instance and assign its source.
        Dim myLog As 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.")
    End Sub
End Class

Açıklamalar

Yerel bilgisayarda bir olay kaynağı olup olmadığını belirlemek için bu yöntemi kullanın. Yerel bilgisayarda bir günlük olup olmadığını belirlemek istiyorsanız kullanın Exists.

Bu yöntem kayıt defterine eriştiğinden, yerel bilgisayarda uygun kayıt defteri izinlerine sahip olmanız gerekir; aksi takdirde, bir SecurityException oluşturulur.

Note

Windows Vista ve sonraki sürümlerde veya Windows Server 2003'te bir olay kaynağı aramak için yönetici ayrıcalıklarına sahip olmanız gerekir.

Bu gereksinimin nedeni, güvenlik de dahil olmak üzere tüm olay günlüklerinin, olay kaynağının benzersiz olup olmadığını belirlemek için aranması gerektiğidir. Windows Vista'dan başlayarak kullanıcıların güvenlik günlüğüne erişme izni yoktur; bu nedenle, bir SecurityException oluşturulur.

Windows Vista'dan başlayarak Kullanıcı Hesabı Denetimi (UAC), bir kullanıcının ayrıcalıklarını belirler. Yerleşik Yöneticiler grubunun üyesiyseniz, size iki çalışma zamanı erişim belirteci atanır: standart kullanıcı erişim belirteci ve yönetici erişim belirteci. Varsayılan olarak, standart kullanıcı rolündesiniz. Performans sayaçlarına erişen kodu yürütmek için öncelikle ayrıcalıklarınızı standart kullanıcıdan yöneticiye yükseltmeniz gerekir. Uygulama simgesine sağ tıklayıp yönetici olarak çalıştırmak istediğinizi belirterek uygulamayı başlattığınızda bunu yapabilirsiniz.

Note

Hesap altında LocalSystem yürütülen bir hizmetin bu yöntemi yürütmek için gereken ayrıcalıkları yoktur. Çözüm, olay kaynağının içinde ServiceInstallervar olup olmadığını denetlemek ve yoksa kaynağı yükleyicide oluşturmaktır.

Yeni bir kaynağa aynı bilgisayardaki mevcut bir kaynağın adını veremediğiniz için, tarafından belirtilen CreateEventSource ada sahip bir kaynağın yerel bilgisayarda zaten mevcut olmadığından emin olmak için çağırmaya source çalışmadan önce bu yöntemi kullanın. source Parametresi büyük/küçük harfe duyarlı değil.

Ayrıca bkz.

Şunlara uygulanır

SourceExists(String, String)

Kaynak:
EventLog.cs
Kaynak:
EventLog.cs
Kaynak:
EventLog.cs
Kaynak:
EventLog.cs
Kaynak:
EventLog.cs
Kaynak:
EventLog.cs
Kaynak:
EventLog.cs
Kaynak:
EventLog.cs

Bir olay kaynağının belirtilen bilgisayarda kayıtlı olup olmadığını belirler.

public:
 static bool SourceExists(System::String ^ source, System::String ^ machineName);
public static bool SourceExists(string? source, string machineName);
public static bool SourceExists(string source, string machineName);
static member SourceExists : string * string -> bool
Public Shared Function SourceExists (source As String, machineName As String) As Boolean

Parametreler

source
String

Olay kaynağının adı.

machineName
String

Aranacak bilgisayarın adı veya yerel bilgisayar için "."

Döndürülenler

true olay kaynağı belirtilen bilgisayarda kayıtlıysa; aksi takdirde , false.

Özel durumlar

machineName geçersiz bir bilgisayar adıdır.

source bulunamadı, ancak olay günlüklerinin bazıları veya tümü aranamadı.

Örnekler

Aşağıdaki örnek, bilgisayarda MySourcekaynağını MyServer oluşturur ve olay günlüğüne MyNewLogbir girdi yazar.

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", "MyServer"))
        {
            // 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", "MyServer");
            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.");
    }
}
Imports System.Diagnostics
Imports System.Threading

Class MySample
    Public Shared Sub Main()
        ' Create the source, if it does not already exist.
        If Not EventLog.SourceExists("MySource", "MyServer") Then
            EventLog.CreateEventSource("MySource", "MyNewLog", "MyServer")
            Console.WriteLine("CreatingEventSource")
        End If
        
        ' Create an EventLog instance and assign its source.
        Dim myLog As 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.")
    End Sub
End Class

Açıklamalar

parametresi tarafından machineName belirtilen bilgisayarda bir olay kaynağı olup olmadığını belirlemek için bu yöntemi kullanın. Belirtilen bilgisayarda bir günlük olup olmadığını belirlemek istiyorsanız kullanın Exists.

Bu yöntem kayıt defterine eriştiğinden, verilen sunucuda uygun kayıt defteri izinlerine sahip olmanız gerekir; aksi takdirde, bir SecurityException oluşturulur.

Note

Windows Vista ve sonraki sürümlerde veya Windows Server 2003'te bir olay kaynağı aramak için yönetici ayrıcalıklarına sahip olmanız gerekir.

Bu gereksinimin nedeni, güvenlik de dahil olmak üzere tüm olay günlüklerinin, olay kaynağının benzersiz olup olmadığını belirlemek için aranması gerektiğidir. Windows Vista'dan başlayarak kullanıcıların güvenlik günlüğüne erişme izni yoktur; bu nedenle, bir SecurityException oluşturulur.

Windows Vista'dan başlayarak Kullanıcı Hesabı Denetimi (UAC), bir kullanıcının ayrıcalıklarını belirler. Yerleşik Yöneticiler grubunun üyesiyseniz, size iki çalışma zamanı erişim belirteci atanır: standart kullanıcı erişim belirteci ve yönetici erişim belirteci. Varsayılan olarak, standart kullanıcı rolündesiniz. Performans sayaçlarına erişen kodu yürütmek için öncelikle ayrıcalıklarınızı standart kullanıcıdan yöneticiye yükseltmeniz gerekir. Uygulama simgesine sağ tıklayıp yönetici olarak çalıştırmak istediğinizi belirterek uygulamayı başlattığınızda bunu yapabilirsiniz.

Note

Hesap altında LocalSystem yürütülen bir hizmetin bu yöntemi yürütmek için gereken ayrıcalıkları yoktur. Çözüm, olay kaynağının içinde ServiceInstallervar olup olmadığını denetlemek ve yoksa kaynağı yükleyicide oluşturmaktır.

Yeni bir kaynağa aynı bilgisayardaki mevcut bir kaynağın adını veremediğiniz için, tarafından belirtilen CreateEventSource ada sahip bir kaynağın bilgisayarda zaten mevcut olmadığından emin olmak için çağırmaya source çalışmadan önce bu yöntemi kullanın. source ve machineName parametreleri büyük/küçük harfe duyarlı değildir.

SourceExists bir static yöntemdir, bu nedenle sınıfın kendisinde çağrılabilir. çağrısı EventLogiçin bir örneği SourceExists oluşturmak gerekli değildir.

Ayrıca bkz.

Şunlara uygulanır