Procedura: implementare e generare eventi di monitoraggio dello stato di ASP.NET personalizzati
Aggiornamento: novembre 2007
Nell'esempio riportato in questa sezione viene illustrato come generare eventi di monitoraggio dello stato di ASP.NET personalizzati. Quando si aggiunge un evento personalizzato all'applicazione, è necessario considerare i seguenti punti:
Come impostare l'ambito dell'evento di monitoraggio dello stato. Se l'evento è destinato a essere generato in tutte le applicazioni di un server, è necessario configurarlo in modo che abbia un ambito esteso a tutto il computer. A tale scopo, è consigliabile creare un modulo HTTP che generi l'evento personalizzato, come illustrato in questo esempio, e quindi installare il modulo a livello di computer. Il modulo verrà chiamato in tutte le applicazioni del computer in cui è installato.
Quando generare un evento di monitoraggio dello stato. È possibile generare eventi di monitoraggio dello stato in qualsiasi momento durante l'elaborazione delle richieste. Intervalli di tempo tipici in cui generare un evento WebRequestEvent personalizzato sono nell'evento BeginRequest o nell'evento EndRequest di sistema.
Nell'esempio sono illustrate le seguenti funzionalità:
Compilazione di un modulo HTTP per l'attivazione di eventi di monitoraggio dello stato personalizzati.
Configurazione dell'applicazione per la registrazione di eventi mediante il provider EventLogWebEventProvider standard.
Registrazione di informazioni sugli eventi mediante il provider EventLogWebEventProvider standard.
Per eseguire l'esempio è necessario:
Internet Information Services (IIS) installato nello stesso server su cui viene eseguita l'applicazione Web. Per ulteriori informazioni, vedere Procedura: creare e configurare directory virtuali in IIS 5.0 e 6.0 o cercare Internet Information Services all'indirizzo https://www.microsoft.com.
Un'applicazione Web ASP.NET. Per ulteriori informazioni, vedere Layout del sito Web ASP.NET.
Il codice dell'Esempio di generazione di eventi di monitoraggio dello stato di ASP.NET personalizzati.
Per compilare il modulo HTTP
Inserire il codice sorgente riportato nell'Esempio di generazione di eventi di monitoraggio dello stato di ASP.NET personalizzati nella directory App_Code dell'applicazione ASP.NET in un file denominato SampleModule.vb o SampleModule.cs.
Nota:
Se nella directory App_Code dell'applicazione esiste già del codice sorgente, è necessario aggiungere la versione del provider di eventi personalizzati scritta nello stesso linguaggio del codice esistente nella directory.
Il codice del provider di eventi personalizzati verrà compilato in ASP.NET quando verrà richiesta una pagina nell'applicazione. Per ulteriori informazioni, vedere Cartelle di codice condivise nei siti Web ASP.NET.
-oppure-
Compilare il provider di eventi personalizzati come una libreria e inserire la libreria nella directory Bin dell'applicazione ASP.NET oppure assegnare un nome sicuro all'assembly e inserirlo nella Global Assembly Cache (GAC).
Nell'esempio di comando riportato di seguito viene illustrato come compilare l'esempio mediante il compilatore basato su riga di comando.
vbc /out:<example_name>.dll /t:library <example_name>.vb /r:System.Web.dll /r:System.Configuration.dll /r:<required namespace>
csc /out:<example_name>.dll /t:library <example_name>.cs /r:System.Web.dll /r:System.Configuration.dll /r:<required namespace>
Nota:
Se non è possibile eseguire il comando del compilatore, è necessario aggiungere il percorso di installazione di .NET Framework alla variabile Windows PATH prima di eseguire il comando. In Windows fare clic con il pulsante destro del mouse su Risorse del computer, scegliere Proprietà, quindi selezionare la scheda Avanzate e fare clic sul pulsante Variabili di ambiente. Nell'elenco Variabili di sistema fare doppio clic sulla variabile Path. Nella casella di testo Valore variabile aggiungere punto e virgola (;) alla fine dei valori esistenti, quindi digitare il percorso di installazione di .NET Framework. .NET Framework viene in genere installato nella cartella di installazione nel percorso Windows in \Microsoft.NET\Framework\versionNumber.
Per configurare l'applicazione ASP.NET per l'utilizzo dell'esempio
Se nella cartella principale dell'applicazione ASP.NET è già presente un file denominato Web.config, aprirlo. In caso contrario, creare un file di testo denominato Web.config e copiarvi il seguente testo:
<?xml version="1.0"?> <configuration xmlns="https://schemas.microsoft.com/.NetConfiguration/v2.0"> <system.web> </system.web> </configuration>
All'interno dei tag system.web aggiungere gli elementi httpModules e Elemento healthMonitoring (schema delle impostazioni ASP.NET) riportati di seguito.
<httpModules> <add name="Raising Custom Web Events" type="Samples.AspNet.Management.CustomWebEvents" /> </httpModules> <healthMonitoring heartbeatInterval="0" enabled="true"> <eventMappings> <add name="SampleWebRequestEvent" type="Samples.AspNet.Management.SampleWebRequestEvent" /> </eventMappings> <profiles> <add name="Custom" minInstances="1" maxLimit="Infinite" minInterval="00:00:00" /> </profiles> <rules> <clear /> <add name="Custom Web Request Event" eventName="SampleWebRequestEvent" provider="EventLogProvider" profile="Custom" /> </rules> </healthMonitoring>
L'attributo type può elencare solo il nome della classe, come nell'esempio di codice precedente, oppure un tipo completo, come nell'esempio seguente:
type="Samples.AspNet.Management.SampleWebRequestEvent, Sample.SampleModule,Version=1.0.0.0,Culture=neutral, PublicKeyToken=xxxxxxxxxxxx"
Nota:
Il tipo completo è richiesto solo se la classe è stata installata nella Global Assembly Cache o nella directory Bin.
Per eseguire il test dell'evento Web personalizzato
Eseguire il Visualizzatore eventi di Windows sul server sul quale viene eseguita l'applicazione Web. A tale scopo, fare clic sul pulsante Start, scegliere Esegui, digitare eventvwr nella finestra di dialogo Esegui e quindi fare clic su OK.
Nella struttura del log eventi del Visualizzatore eventi fare clic su Applicazione.
Aggiornare la visualizzazione del registro applicazioni facendo clic su Azione e quindi su Aggiorna.
Annotare la data, l'ora e il nome dell'evento più recente. Tali informazioni verranno utilizzate successivamente per verificare che l'evento personalizzato sia stato generato.
Nel browser richiedere una pagina dell'applicazione Web.
Per utilizzare l'evento personalizzato nell'applicazione, eseguire una pagina dell'applicazione nel browser. Sarà quindi possibile esaminare i risultati creati dall'evento personalizzato.
Aggiornare nuovamente il registro applicazioni e verificare che le informazioni sugli eventi di stato emesse dall'evento personalizzato siano state registrate.
Vedere anche
Attività
Esempio di generazione di eventi di monitoraggio dello stato di ASP.NET personalizzati
Concetti
Cenni preliminari sul monitoraggio dello stato di ASP.NET
Riferimenti
Elemento healthMonitoring (schema delle impostazioni ASP.NET)