Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questa procedura dettagliata illustra come creare un listener di log personalizzato e configurarlo per l'ascolto dell'output dell'oggetto My.Application.Log .
Come iniziare
I listener di log devono ereditare dalla classe TraceListener.
Per creare il listener
Nell'applicazione creare una classe denominata
SimpleListenerche eredita da 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 ClassI Write metodi e WriteLine , richiesti dalla classe base, chiamano
MsgBoxper visualizzare l'input.L'attributo HostProtectionAttribute viene applicato ai Write metodi e WriteLine in modo che i relativi attributi corrispondano ai metodi della classe base. L'attributo HostProtectionAttribute consente all'host che esegue il codice di determinare che il codice espone la sincronizzazione della protezione host.
Annotazioni
L'attributo HostProtectionAttribute è efficace solo nelle applicazioni non gestite che ospitano Common Language Runtime e che implementano la protezione host, ad esempio SQL Server.
Per assicurarsi che My.Application.Log usi il listener di log, è consigliabile assegnare un nome sicuro all'assembly che contiene il listener di log.
La procedura seguente illustra alcuni semplici passaggi per la creazione di un assembly del listener di log con nome sicuro. Per altre informazioni, vedere Creazione e utilizzo degli assembly con nome sicuro.
Per denominare in modo sicuro l'assembly del listener di log
Selezionare un progetto in Esplora soluzioni. Scegliere Proprietà dal menu Progetto.
Fare clic sulla scheda Firma .
Selezionare la casella Firmare l'assembly.
Selezionare <Nuovo> nell'elenco a discesa Scegliere un file di chiave con nome sicuro .
Verrà visualizzata la finestra di dialogo Crea chiave con nome sicuro .
Specificare un nome per il file di chiave nella casella Nome file chiave .
Immettere una password nelle caselle Immetti password e Conferma password .
Fare clic su OK.
Ricompilare l'applicazione.
Aggiunta del listener
Ora che l'assembly ha un nome sicuro, è necessario determinare il nome sicuro del listener in modo che My.Application.Log usi il listener di log.
Il formato di un tipo con un nome forte è il seguente.
<nome del tipo>, <nome dell'assembly>, <numero di versione>, <cultura>, <nome sicuro>
Per determinare il nome forte del listener
Il codice seguente mostra come determinare il nome del tipo fortemente nominato per
SimpleListener.Public Sub DisplaySimpleListenerStrongName() Dim t As Type = GetType(SimpleListener) MsgBox(t.FullName & ", " & t.Assembly.FullName) End SubIl nome sicuro del tipo dipende dal progetto.
Con il nome forte, è possibile aggiungere il listener alla raccolta di log-listener My.Application.Log.
Per aggiungere il listener a My.Application.Log
Fare clic con il pulsante destro del mouse su app.config in Esplora soluzioni e scegliere Apri.
oppure
Se è presente un file app.config:
Scegliere Aggiungi nuovo elemento dal menu Progetto.
Nella finestra di dialogo Aggiungi nuovo elemento scegliere File di configurazione dell'applicazione.
Fare clic su Aggiungi.
Individuare la sezione
<listeners>, nella sezione<source>con l'attributoname"DefaultSource", che si trova nella sezione<sources>. La sezione<sources>si trova nella sezione<system.diagnostics>della sezione di primo livello<configuration>.Aggiungere questo elemento alla
<listeners>sezione :<add name="SimpleLog" />Individuare la sezione
<sharedListeners>nella sezione<system.diagnostics>nella sezione di primo livello<configuration>.Aggiungere questo elemento a tale
<sharedListeners>sezione:<add name="SimpleLog" type="SimpleLogStrongName" />Modificare il valore di
SimpleLogStrongNamein modo che sia il nome sicuro del listener.