Sdílet prostřednictvím


Návod: Vytváření vlastních součástí naslouchajících protokolům (Visual Basic)

Tento názorný postup ukazuje, jak vytvořit vlastní naslouchací proces protokolu a nakonfigurovat ho tak, aby naslouchal výstupu objektu My.Application.Log .

Začínáme

Naslouchací procesy protokolu musí dědit z TraceListener třídy.

Vytvoření naslouchacího procesu

  • V aplikaci vytvořte třídu s názvem SimpleListener , která dědí z TraceListener.

    Public Class SimpleListener
        Inherits System.Diagnostics.TraceListener
    
        <Security.Permissions.HostProtection(Synchronization:=True)>
        Public Overloads Overrides Sub Write(ByVal message As String)
            MsgBox("Write: " & message)
        End Sub
    
        <Security.Permissions.HostProtection(Synchronization:=True)>
        Public Overloads Overrides Sub WriteLine(ByVal message As String)
            MsgBox("WriteLine: " & message)
        End Sub
    End Class
    

    Volání Write a WriteLine metody vyžadované základní třídou zobrazí MsgBox jejich vstup.

    Atribut HostProtectionAttribute se použije na Write metody a WriteLine metody tak, aby jejich atributy odpovídaly metodám základní třídy. Atribut HostProtectionAttribute umožňuje hostiteli, který spouští kód, určit, že kód zveřejňuje synchronizaci ochrany hostitele.

    Poznámka:

    Atribut HostProtectionAttribute je efektivní pouze u nespravovaných aplikací, které hostují modul CLR (Common Language Runtime) a implementují ochranu hostitele, jako je SQL Server.

Abyste měli jistotu, že My.Application.Log používáte naslouchací proces protokolu, měli byste sestavení obsahující naslouchací proces protokolu pevně pojmenovat.

Další postup obsahuje několik jednoduchých kroků pro vytvoření sestavení naslouchacího procesu se silným názvem. Další informace naleznete v tématu Vytváření a používání sestavení se silným názvem.

Pro silné pojmenování sestavení naslouchacího procesu protokolu

  1. Vyberte projekt v Průzkumník řešení. V nabídce Projekt zvolte Vlastnosti.

  2. Klikněte na kartu Podepisování .

  3. Vyberte pole Podepsat sestavení .

  4. V rozevíracím seznamu Zvolit soubor silného názvu klíče vyberte Možnost Nový>.<

    Otevře se dialogové okno Vytvořit klíč silného názvu .

  5. Do pole Název souboru klíče zadejte název souboru klíče.

  6. Zadejte heslo do polí Zadejte heslo a Potvrďte heslo .

  7. Klikněte na OK.

  8. Znovu sestavte aplikaci.

Přidání naslouchacího procesu

Teď, když má sestavení silný název, musíte určit silný název naslouchacího procesu, aby My.Application.Log se používal naslouchací proces protokolu.

Formát silného pojmenovaného typu je následující.

<název typu, <název>> sestavení, <číslo> verze, <jazyková verze>, <silný název>

Určení silného názvu naslouchacího procesu

  • Následující kód ukazuje, jak určit název silného pojmenovaného typu pro SimpleListener.

    Public Sub DisplaySimpleListenerStrongName()
        Dim t As Type = GetType(SimpleListener)
        MsgBox(t.FullName & ", " & t.Assembly.FullName)
    End Sub
    

    Silný název typu závisí na vašem projektu.

Se silným názvem můžete přidat naslouchací proces do kolekce naslouchacího My.Application.Log procesu protokolu.

Přidání naslouchacího procesu do My.Application.Log

  1. V Průzkumník řešení klikněte pravým tlačítkem na app.config a zvolte Otevřít.

    nebo

    Pokud existuje soubor app.config:

    1. V nabídce Projekt zvolte Přidat novou položku.

    2. V dialogovém okně Přidat novou položku zvolte Konfigurační soubor aplikace.

    3. Klikněte na tlačítko Přidat.

  2. <listeners> Vyhledejte oddíl v oddílu <source> s atributem name DefaultSource umístěným v oddílu<sources>. Oddíl <sources> se nachází v oddílu v oddílu <system.diagnostics> nejvyšší úrovně <configuration> .

  3. Přidejte tento prvek do oddílu <listeners> :

    <add name="SimpleLog" />
    
  4. <sharedListeners> Vyhledejte oddíl v oddílu v oddílu <system.diagnostics> nejvyšší úrovně<configuration>.

  5. Přidejte tento element do tohoto <sharedListeners> oddílu:

    <add name="SimpleLog" type="SimpleLogStrongName" />
    

    Změňte hodnotu SimpleLogStrongName tak, aby byla silným názvem naslouchacího procesu.

Viz také