Gebeurtenissen op het web in ASP.NET 2.0

Vertaalde artikelen Vertaalde artikelen
Artikel ID: 893664 - Bekijk de producten waarop dit artikel van toepassing is.
Bèta-informatie
In dit artikel wordt een bètaversie van een Microsoft beschreven. product. De informatie in dit artikel wordt geleverd als- en is onderworpen aan zonder kennisgeving worden gewijzigd.

Formele is geen productondersteuning beschikbaar via Microsoft voor dit bètaproduct. Voor informatie over het verkrijgen van ondersteuning Raadpleeg de documentatie die deel uitmaakt van de bèta voor een bètaversie productbestanden of het selectievakje de locatie waar u hebt gedownload de release.
Ondersteuning voor ASP.NET-stem kolom
Deze kolom aan uw behoeften aanpassen, we nodigen je uit om uw ideeën over onderwerpen die u interesseren en problemen die u wilt zien in toekomstige gericht Knowledge Base-artikelen en ondersteuning voor spraak-kolommen. U kunt uw ideeën en feedback indienen met behulp van de Voor deze vraag met dit formulier. Er is ook een koppeling naar het formulier onderaan deze kolom.
Alles uitklappen | Alles samenvouwen

Op deze pagina

Inleiding

Welkom bij de kolom ASP.NET ondersteuning stem! Mijn naam is Jerry van Opstal. Ik zijn geweest met Microsoft over 5 jaar en hebben besteed aan de meeste van mijn nadruk op tijd op Web-gerelateerde technologieën zoals FrontPage en de nieuwe SharePoint-technologieën. Ik bezig geweest met het laatste jaar werken met ASP.NET als een ondersteuningstechnicus.

Deze maand in de kolom ondersteuning stem ga ik Beschrijving van de nieuwe functie Web gebeurtenissen in de aanstaande introductie van ASP.NET 2.0.

De gebeurtenissen op het Web-functie van ASP.NET 2.0

Een van de belangrijkste nieuwe diensten die in ASP.NET 2.0 is het Web Gebeurtenissen functie van de gezondheid bewakingssysteem. Doordat de Web.config-bestand, kunt u de gezondheid bewakingssysteem onafgehandelde logboek uitzonderingen, verlopen formulieren, -verificatietickets en andere gegevens die u wilt geregistreerd in uw toepassing. Deze kolom kunt u via het Web Gebeurtenissen zijn uitgerust, en krijgt ook voorbeelden van het gebruik van de verschillende providers in ASP.NET 2.0.

Registratie wordt gedaan door het definiëren van een regel die koppelt gebeurtenissen aan een provider. De regel definieert het type gebeurtenissen die worden verzonden naar de provider. De volgende basis gebeurtenissen zijn beschikbaar voor u aan te melden:
Deze tabel samenvouwenDeze tabel uitklappen
WebBaseEventDe gebeurtenisklasse base voor alle gebeurtenissen. Bevat de vereiste eigenschappen voor alle gebeurtenissen zoals gebeurteniscode gebeurteniscode voor detail, de datum en tijd waarop de gebeurtenis is geactiveerd, volgnummer, het gebeurtenisbericht en details van de gebeurtenis.
WebManagementEventDe gebeurtenis basis klasse voor gebeurtenissen, zoals levensduur van de toepassing, aanvraag, fout en gebeurtenissen controleren.
WebHeartbeatEventDe gebeurtenis die wordt gegenereerd door de toepassing in de normale intervallen voor het vastleggen van informatie over de status van nuttige runtime.
WebAuditEventDe basisklasse voor controle beveiligingsgebeurtenissen, die worden gebruikt markeren van voorwaarden zoals autorisatie mislukt, fout bij het decoderen, enz.
WebRequestEventDe basisklasse voor alle aanvraag informatieve gebeurtenissen.
WebBaseErrorEventDe basisklasse voor alle gebeurtenissen die fout aangeeft voorwaarden.
De typen beschikbare providers kunt u gebeurtenis uitvoer verzenden met Logboeken van SQL-Server, Windows Management Instrumentation (WMI), en e-mailberichten. De vooraf geconfigureerde providers en gebeurtenis toewijzingen minder werkzaamheden die nodig zijn om de uitvoer van gebeurtenis vastgelegd.

ASP.NET 2.0 gebruikt de gebeurtenis Logboek provider out-van-the-box om gebeurtenissen op basis van toepassingsdomeinen starten en stoppen en logboekregistratie van alle onverwerkte uitzonderingen. Dit helpt te dekken Sommige van de basisscenario's. Bijvoorbeeld: Stel dat uw toepassing genereert een uitzondering, maar de gebruiker de fout niet opgeslagen en u kunt geen het reproduceren. Met de standaardregel gebeurtenislogboek, zou u kunnen verzamelen de uitzondering en stack informatie verkrijgen een beter idee van wat voor soort fout Er is opgetreden. Of als uw toepassing de sessiestatus is verloren, kunt u zoeken in de Logboek voor toepassingsgebeurtenissen om te bepalen of het toepassingsdomein is recycling en waarom de toepassingsdomein gestopt in de eerste plaats.

Ook de gezondheid bewakingssysteem is uitbreidbaar. Zo kunt u aangepaste Web-gebeurtenissen definiëren binnen de toepassing worden gestart en definieer vervolgens een regel voor het verzenden van de gebeurtenis informatie naar een provider zoals uw e-mailberichten. Hiermee kunt u eenvoudig koppelen de instrumenten voor de bewaking van providers gezondheid. Een ander voorbeeld u kunt een gebeurtenis wordt gestart wanneer een order wordt verwerkt en een regel instelt die elke gebeurtenis verzendt naar de SQL Server-database. Een gebeurtenis kan ook worden gestart wanneer een gebruiker zich op meerdere keren in een rij en de gebeurtenis instellen voor gebruik niet de op basis van e-mail providers.

De configuratie voor de standaardproviders en gebeurtenissen in het globale bestand Web.config zijn opgeslagen. Het globale bestand Web.config alle Web-based instellingen die zijn opgeslagen in het bestand Machine.config worden opgeslagen in ASP.NET 1 x. Het globale bestand Web.config bevindt zich in de volgende map:
%windir%\Microsoft.Net\Framework\v2.0.*\config\Web.config
De sectie <healthMonitoring>van het globale bestand Web.config biedt standaard configuratie-instellingen. U kunt deze instellingen overschrijven of uw eigen instellingen configureren door het implementeren van de <healthMonitoring> de sectie in het bestand Web.config voor de toepassing.

Het de sectie <healthMonitoring>van het globale bestand Web.config bevat de de volgende items: </healthMonitoring></healthMonitoring></healthMonitoring>
  • providers Leveranciers instellen voor de module Logboeken, WMI- en SQL bevat Server.
  • eventMappings Toewijzingen voor de verschillende klassen van de WebBase bevat. U kunt uitbreiden Deze lijst als u uw eigen klasse event genereert. Genereren van uw eigen klasse event Geeft weer specifieker over het verzenden van gegevens naar providers. Voor voorbeeld, kon u niet-verwerkte uitzonderingen worden verzonden naar de SQL-Server configureren tijdens het verzenden van uw eigen aangepaste gebeurtenissen op e-mail.
  • regels Het eventMappings bevat koppelingen naar de provider.
  • buffer Met SQL Server en e-mail providers gebruikt om te bepalen hoe vaak het legen van de gebeurtenissen naar de provider.
Hieronder vindt u een voorbeeld van het globale bestand Web.config.
<healthMonitoring>

	<!--  Event Log Provider being added. -->
	<providers>
      		<add name="EventLogProvider" type="System.Web.Management.EventLogWebEventProvider,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" />
	</providers>


	<!--  Event mapping provides a friendly name to the events based on the WebBaseErrorEvent class.  -->

	<eventMappings>
			<add name="All Errors" type="System.Web.Management.WebBaseErrorEvent,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a"
						startEventCode="0" endEventCode="2147483647" />
	</eventMappings>


	<!-- Rule tying the "All Errors" event mapping to the EventLog Provider.  -->
	<rules>
      		<add name="All Errors Default" eventName="All Errors" provider="EventLogProvider"
						profile="Default" minInstances="1" maxLimit="Infinite" minInterval="00:01:00"
						custom="" />
	</rules>

</healthMonitoring>

Voorbeeld van de provider

In dit voorbeeld provider bevat de volgende bestanden:
  • Het ViewEvents.aspx bestand : de gebeurtenis MyEvent aangepaste web in de gebeurtenis click van de knop Page_Load en gebeurtenis registreren . Heeft een GridView waarin de databaseverbinding in de Het bestand web.config om de gebeurtenissen die zijn vastgelegd met SQL Server.

    Zorg ervoor Configureer de connectionString in het bestand Web.config om te verwijzen naar de database ASPNETDB .
  • Het Web.config-bestand ? heeft de verschillende aanbieders en regels die zijn geconfigureerd en uitschakelen als commentaar. Verwijder de opmerking van de regel die u wilt testen, kunt u bladeren de Default.aspx- en ViewEvent.aspx 's om te zien wat de uitvoer Net als bij.
  • Het MyEvent.cs bestand ? zich in de map App_Data. Dit wordt gebruikt in de ViewEvents.aspx-pagina een aangepaste gebeurtenis.
  • De Default.aspx bestand ? genereert een System.NullReferenceException om te zien welke een onverwerkte logboeken met uitzonderingen.
  • Het EmailTemplateTest.aspx bestand ? wordt gebruikt voor het monster TemplateemailProvider. Het code-behind-bestand voor het bestand EmailTemplateTest.aspx heeft regels code kunt u opmerkingen, die de pagina een uitzondering veroorzaakt.

Het opslaan van gebeurtenissen in Logboeken

Zoals ik eerder heb gezegd, de provider voor de registratie van gebeurtenissen in de Logboeken is geconfigureerd voor u in het globale bestand Web.config. Standaard alle gebeurtenissen op basis van WebBaseErrorEvent en WebFailureAuditEvent worden vastgelegd. U kunt extra regels toevoegen aan extra logboek de informatie in het gebeurtenislogboek. Als u alle gebeurtenissen (dat wil zeggen, alle gebeurtenissen op basis van WebBaseEvent), kunt u bijvoorbeeld de volgende regel toevoegen aan het bestand Web.config:
<healthMonitoring>
	<rules>
		<add name="All Events" eventName="All Events" provider="EventLogProvider" profile="Critical"  />
	</rules>
</healthMonitoring>
Deze regel zou de toewijzing van Alle gebeurtenissen gebeurtenis koppelen aan de Event Log-provider. Beide eventMapping en de provider zijn opgenomen in het globale bestand Web.config. Vervolgens kunt u de ViewEvents.aspx de pagina voor het starten van de gebeurtenissen die worden gegenereerd door de pagina bladeren. Het pagina wordt ook de aangepaste MyEvent -gebeurtenis in de gebeurtenis Page_Load en een knop op gestart.

Bladeren om te zien welk type gegevens gegenereerd, de De pagina default.aspx. Dit genereert een uitzondering System.NullReferenceException en de volgende gebeurtenis geregistreerd in het geval Viewer:

Gebeurtenistype: waarschuwing
Bron van gebeurtenis: ASP.NET 2.0.50601.0
Categorie: webgebeurtenis
Gebeurtenis-ID: 1311
Datum: 16-8-2005
Tijd: 9: 37: 44 PM
Gebruiker: N.V.T.
Computer: Naam van de computer
Beschrijving:
Gebeurteniscode: 3005
Gebeurtenisbericht: Er is een onverwerkte uitzondering opgetreden.
Tijd van de gebeurtenis: 16-8-2005 9: 37: 44 PM
Gebeurtenis time (UTC): 17-8-2005 02: 37: 44: 00
Gebeurtenis-ID: 88838b4e73cf4a0d9a36ac737ff9d1a0
Volgnummer van de gebeurtenis: 39
Gebeurtenis zich heeft voorgedaan: 1
Detail gebeurteniscode: 0
Informatie over de toepassing: domein: d047d537-2-127687190240098660
Trust level: volledige
Virtuele toepassingen Pad: /WebSite3
Pad naar de toepassing: Fysieke pad
Computernaam: Computer naam
Informatie verwerken: proces-ID: 3776
De procesnaam van het: WebDev.WebServer.EXE
Accountnaam: domein\gebruiker
Informatie over uitzonderingen: Uitzonderingstype: NullReferenceException
Uitzonderingsbericht:-objectverwijzing niet ingesteld op een exemplaar van een object.
Informatie aanvragen: URL aanvragen: http://localhost:1698/WebSite3/default.aspx
Pad van aanvraag: /WebSite3/default.aspx
Host-gebruikersadres: 127.0.0.1
Gebruiker: Domein\gebruiker
Is geverifieerd: True
Verificatietype: NTLM
Thread accountnaam: domein\gebruiker
Thread-informatie:
Thread-ID: 8
Thread accountnaam: domein\gebruiker
Imiteert: False

De stacktracering: op _Default.Page_Load (object afzender, EventArgs e) in c:\Documents en Settings\user\Desktop\WebEvents\WebSite3\WebSite3\Default.aspx.CS:line 15
bij System.Web.Util.CalliHelper.EventArgFunctionCaller (IntPtr fp, Object o, Object t, EventArgs e)
bij System.Web.Util.CalliEventHandlerDelegateProxy.Callback (Object afzender, EventArgs e)
bij System.Web.UI.Control.OnLoad (EventArgs e) op System.Web.UI.Control.LoadRecursive()
bij System.Web.UI.Page.ProcessRequestMain (Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

Aangepaste gebeurtenisdetails: voor meer informatie informatie, Zie Help en ondersteuning op http://support.Microsoft.com.

Logboekregistratie van alle gebeurtenissen naar het gebeurtenislogboek genereert ook informatieve gebeurtenissen. De volgende gebeurtenis wordt de URL weergegeven. vergunning voor de pagina aanvraag voltooid:

Gebeurtenis Type: informatie
Bron: ASP.NET 2.0.50601.0
Categorie: Web Gebeurtenis
Gebeurtenis-ID: 1314
Datum: 16-8-2005
Tijd: 11: 04: 44 PM
Gebruiker: N/B
Computer: Computer naam
Beschrijving:
Gebeurteniscode: 4003
Bericht: URL autorisatie is geslaagd voor de aanvraag.
Tijd van de gebeurtenis: 16-8-2005 11: 04: 44 PM
Gebeurtenis time (UTC): 17-8-2005 04: 04: 44: 00
Gebeurtenis-ID: fec3d73fba0247eaba425e5ccfada18e
Volgnummer van de gebeurtenis: 2
Gebeurtenis zich heeft voorgedaan: 1
Detail gebeurteniscode: 0
Informatie over de toepassing:
Toepassingsdomein: 1-d047d537-127687250829701433
Trust level: volledige
Virtuele toepassingen Pad: /WebSite3
Pad naar de toepassing: C:\Documents en Settings\user\Desktop\WebEvents\WebSite3\WebSite3\
Computernaam: Naam van de computer
Procesgegevens:
Proces ID: 2292
Naam: WebDev.WebServer.EXE
Accountnaam: Domein\gebruiker
Informatie opvragen:
Aanvraag-URL: http://localhost:2087/WebSite3/default.aspx
Pad van aanvraag: /WebSite3/default.aspx
Host-gebruikersadres: 127.0.0.1
Gebruiker: Domein\gebruiker
Is geverifieerd: True
Verificatietype: NTLM
Thread accountnaam: domein\gebruiker

Details van de aangepaste gebeurtenis:
Voor meer informatie informatie, Zie Help en ondersteuning op http://support.Microsoft.com.

Het opslaan van gebeurtenissen naar SQL Server

Deze methode wordt de database ASPNETDB , die wordt gegenereerd door het hulpprogramma Aspnet_regsql.exe. Het standaardprovider gebruikt de verbindingsreeks LocalSqlServer, die gebruikmaakt van een een bestand gebaseerde database in de map App_data of het lokale exemplaar SQLExpress van SQL-Server. De verbindingsreeks voor de LocalSqlServer en de SqlProvider zijn in het globale bestand Web.config worden geconfigureerd.

De LocalSqlServer de verbindingsreeks in het globale bestand Web.config ziet er zo uit:
<connectionStrings>
	<add name="LocalSqlServer" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" />
</connectionStrings>
Als u een andere SQL Server-server gebruikt wilt, moet u gebruik van de Aspnet_regsql.exe-hulpprogramma dat u kunt vinden in de de map %windir%\Microsoft.Net\Framework\v2.0.*\Aspnet_regsql.exe. Gebruik de Hulpprogramma Aspnet_regsql.exe voor het genereren van een aangepaste ASPNETDB -database op de SQL Server-server, voegt u de verbindingsreeks om uw toepassingen .config-bestand, en vervolgens een provider toevoegen met behulp van de nieuwe verbindingsreeks. Zodra u de ASPNETDB database gemaakt hebt, moet u een regel voor het koppelen van een eventMapping naar de sqlProvider.

Een aangepaste database configureren Ga als volgt te werk:
  1. Een database ASPNETDB genereren.
    1. Aspnet_regsql.exe ?W uitvoeren en wandel door de de wizard.
    2. Voer de opdracht om het proces te automatiseren: Aspnet_regsql ?A ?S w SQL-Server -E.
  2. Een verbindingsreeks die naar de database, dus verwijst toevoegen Deze ziet er zo uit:
    <connectionStrings>
    	<add name="MYASPNETDB" connectionString="Server=<SQL Instance>;Integrated Security=SSPI;Database=aspnetdb"/>
    </connectionStrings>
  3. Een serviceprovider om te gebruiken dus de verbindingsreeks MYASPNETDB toevoegen Deze ziet er zo uit:
    <healthMonitoring>
    	<providers>
    		<add name="MySqlWebEventProvider" type="System.Web.Management.SqlWebEventProvider" connectionStringName="MYASPNETDB" maxEventDetailsLength="1073741823" buffer="false"/>
    	</providers>
    </healthMonitoring>
Of u de standaard SqlProvider gebruiken of zelf configureren provider, moet u een regel voor het koppelen van de provider met een speciale gebeurtenis wilt toevoegen. Het volgende regel koppelt u de nieuwe provider die u hierboven hebt gemaakt aan het overzicht van Alle gebeurtenissen gebeurtenis. Deze regel zal alle gebeurtenissen op basis van WebBaseEvent en stuur ze naar de MySqlWebEventProvider waarmee de MYASPNETDB-verbindingsreeks. De volgende code voegt een regel voor het koppelen van de de provider met een speciale gebeurtenis:
<healthMonitoring>
	<rules>
		<add name="All Events" eventName="All Events" provider="MySqlWebEventProvider" profile="Critical"/>
	</rules>
</healthMonitoring>
Als u fouten alleen verzenden naar SQL Server wilt, die u kunt toevoegen de volgende regel:
<add name="All Errors" eventName="All Errors" provider="MySqlWebEventProvider" profile="Critical"/>

Het doorsturen van gebeurtenissen met WMI

U kunt de gebeurtenissen ook doorsturen met WMI. De WMI-provider is standaard geconfigureerd voor u in het globale bestand Web.config.

Het volgende voorbeeld wordt een regel om de gebeurtenissen te sturen met WMI toegevoegd:
<providers>
	<add name="WmiWebEventProvider" type="System.Web.Management.WmiWebEventProvider,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
Moet u een regel toevoegen om te koppelen van een eventMapping aan de provider, en ook een toepassing WMI-listener luistert naar de gebeurtenissen. Het volgende voorbeeld wordt een regel voor de WMI-provider te koppelen aan het overzicht van Alle gebeurtenissen gebeurtenis toegevoegd:
<rules>
	<add name="All Events" eventName="All Events" provider="WmiWebEventProvider" profile="Critical"  />
</rules>
Voorbeeldtoepassing console SampleASPNET het ManagementEventWatcher -object gebruikt om te controleren voor gebeurtenissen en deze weer te geven in de console het venster.
Gebruik van SampleASPNET als volgt:
  1. SampleASPNET.exe starten.
  2. Bladeren door de pagina ViewEvents.aspx; Wanneer u dit doet, zult u zien gebeurtenissen in de consoletoepassing.
  3. Klik op Gebeurtenis Button_Click melden. De pagina weer worden geboekt en ziet u de extra gebeurtenissen ook vastgelegd.
Deze afbeelding samenvouwenDeze afbeelding uitklappen
893664
Opmerking Als u bij het controleren van events op een externe computer, het luisteren toepassing moet op die computer worden uitgevoerd als een account met beheerder toegang.

Hoe gebeurtenissen e-mail doorsturen

U kunt ook gebeurtenissen naar e-mail doorsturen. Deze manier kunt u ophalen informatie over de toepassing rechtstreeks in uw (waarschijnlijk overlopende) Postvak in. Wees voorzichtig met welke gebeurtenis regels dat als koppelen naar uw e-mailprovider u kunt per ongeluk Stuur uzelf een grote hoeveelheid informatie die mogelijk beter geschikt voor SQL Server of het gebeurtenislogboek.

Er zijn twee e- providers, SimpleMailWebEventProvider en TemplatedMailWebEventProvider. Elke dezelfde configuratie-eigenschappen, met uitzondering van 'sjabloon' heeft en "detailedTemplateErrors" kenmerken, die alleen beschikbaar zijn op de TemplatedMailWebEventProvider.

Opmerking Geen van deze e-mailproviders is geconfigureerd voor u. U zult moet toevoegen aan het bestand Web.config.

Het belangrijkste verschil tussen Deze twee e-mailproviders is dat SimpleMailWebEventProvider in e-mailberichten verzendt een algemene sjabloon die niet kan worden gewijzigd. Het voorbeeld van Web.config-bestand wordt toegevoegd Deze e-mailprovider naar de lijst met geconfigureerde providers met behulp van de volgende regel:
<add name="mySimple-mailWebEventProvider" type="System.Web.Management.Simple-mailWebEventProvider"
to="e-mail@foo.com" from="e-mail@foo.com" maxMessagesPerNotification="1" maxEventsPerMessage="10"
buffer="true" bufferMode="Critical Notification"
subjectPrefix="Web Events"/>
De volgende regel wordt ook toegevoegd aan de e-mailprovider aan het overzicht van Alle gebeurtenissen gebeurtenis vastleggen:
<add name="All Events" eventName="All Events" provider="mySimple-mailWebEventProvider" profile="Critical"/>
Het waarschuwingsbericht e-mail is vergelijkbaar met het volgende:
Onderwerp: Gebeurtenismelding 12, deel 1: Web EventsMicrosoft.Samples.WebEvents.MyEvent-gebeurtenis ontvangen in / WebSite3

** Toepassingsinformatie **
---------------
Toepassingsdomein: d047d537-9-127687218865923053 Trust level: volledig virtueel pad: pad naar WebSite3-toepassing: C:\Documents and Settings\user\Desktop\WebEvents\WebSite3\WebSite3\ Machine naam:<computer name="">

** Gebeurtenissen **
---------------
Gebeurtenis code: 100010
Gebeurtenisbericht: Button1_Click
Tijd van de gebeurtenis: 16-8-2005 10: 12: 52 PM
Gebeurtenis time (UTC): 17-8-2005 3: 12: 52 AM
Gebeurtenis-ID: volgnummer van de gebeurtenis 6e5cd252d6114a9e98687598dc6b5d50: 12 gebeurtenis zich heeft voorgedaan: 5-gebeurtenis code in detail te beschrijven: 0

Aangepaste gebeurtenis Details:

---------------</computer>
Hieronder ziet u een e-mailwaarschuwing bericht waarin een niet-verwerkte uitzondering:
Onderwerp: Melding van gebeurtenissen 7, deel 1: Web EventsSystem.Web.Management.WebRequestErrorEvent-gebeurtenis ontvangen in / WebSite3

** Toepassingsinformatie **
---------------
Toepassingsdomein: 5-d047d537-127687293149504903 Trust level: volledig virtueel pad: pad naar WebSite3-toepassing: C:\Documents and Settings\user\Desktop\WebEvents\WebSite3\WebSite3\ Machine naam:<computer name="">

** Gebeurtenissen **
---------------
Gebeurtenis code: 3005
Gebeurtenisbericht: Er is een onverwerkte uitzondering opgetreden.
Gebeurtenis tijd: 17-8-2005 12: 17: 37 AM
Gebeurtenis time (UTC): 17-8-2005 5: 17: 37 AM
Gebeurtenis-ID: 14b7f24102e140bbbae302d80e5a5f36 gebeurtenis volgorde: 7-gebeurtenis exemplaar: 1 gebeurtenis detail code: 0

Procesgegevens:
Proces ID: 2292
Naam: WebDev.WebServer.EXE
Accountnaam: Domein\gebruiker

Informatie over uitzonderingen:
Uitzonderingstype: System.NullReferenceException
Uitzonderingsbericht: de objectverwijzing is niet ingesteld met een exemplaar van een object.

Informatie opvragen:
Aanvraag-URL: http://localhost:2087/WebSite3/default.aspx
Pad van aanvraag: /WebSite3/default.aspx
Host-gebruikersadres: 127.0.0.1
Gebruiker: Domein\gebruiker
Is geverifieerd: True
Verificatietype: NTLM
Thread accountnaam: domein\gebruiker

Thread-informatie:
Thread-ID: 7
De naam van de thread: domein\gebruiker
Imiteert: False
Stack trace: bij _Default.Page_Load (Object afzender, EventArgs e) in c:\Documents en Settings\user\Desktop\WebEvents\WebSite3\WebSite3\Default.aspx.CS:line 15
bij System.Web.Util.CalliHelper.EventArgFunctionCaller (IntPtr fp, Object o, Object t, EventArgs e)
bij System.Web.Util.CalliEventHandlerDelegateProxy.Callback (Object afzender, EventArgs e)
bij System.Web.UI.Control.OnLoad (EventArgs e) op System.Web.UI.Control.LoadRecursive()
bij System.WebUI.Page.ProcessRequestMain (Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)</computer>
TemplatedMailWebEventProvider Hiermee kunt u een ASPX-pagina als een sjabloon--u geraden--opgeven. Het uitvoer van de ASPX-pagina wordt gebruikt in de hoofdtekst van het e-mailbericht, zodat u kunt aanpassen van het uiterlijk van de gegevens die u ontvangt.

De voorbeeldtoepassing TemplatedMailWebEventProvider toevoegen aan het bestand Web.config wordt de volgende code bestands- en de EmailTemplateTest.aspx-pagina als sjabloon opgeven. (De EmailTemplateTest.aspx pagina doorlopen met de beschikbare gebeurtenissen in de buffer en weergegeven in een tabel.)
<add name="myTemplatedMailWebEventProvider" type="System.Web.Management.TemplatedMailWebEventProvider"
to="e-mail@foo.com" from="e-mail@foo.com " buffer="true"
bufferMode="Critical Notification" maxMessagesPerNotification="10" maxEventsPerMessage="10"
template="e-mailTemplateTest.aspx" detailedTemplateErrors="false" />
Het waarschuwingsbericht e-mail is vergelijkbaar met het volgende:
Onderwerp: Gebeurtenismelding 3, deel 1: 10 gebeurtenissen ontvangen / WebSite3

Exemplaar bron tijd Code Detail codebericht
4 System.Web.Security.UrlAuthorizationModule 17-8-2005 00: 40: 45 uur 4003 0-URL autorisatie is geslaagd voor de aanvraag.
4 8/17/2005 00: 40: 45 UUR 4004 0 Bestandsautorisatie is geslaagd voor de aanvraag.
7 ASP.ViewEvents_aspx 17-8-2005 00: 40: 45 Uur 100010 0 webevent voorbeeldpagina te laden
8 ASP.ViewEvents_aspx 17-8-2005 00: 40: 45 uur 100010 0 Button1_Click
5 SystemWeb.Security.UrlAuthorizationModule 17-8-2005 00: 40: 45 uur 4003 0-URL autorisatie is geslaagd voor de aanvraag.
5 8/17/2005 00: 40: 45 UUR 4004 0 Bestandsautorisatie is geslaagd voor de aanvraag.
9 ASP.ViewEvents_aspx 17-8-2005 00: 40: 45 Uur 100010 0 webevent voorbeeldpagina te laden
10 ASP.ViewEvents_aspx 17-8-2005 00: 40: 45 uur 100010 0 Button1_Click
6 System.Web.Security.UrlAuthorizationModule 17-8-2005 12: 40: 46 AM 4003 0-URL autorisatie is geslaagd voor de aanvraag.
6-8/17/2005 12: 40: 46 AM 4004 0 Bestandsautorisatie is geslaagd voor de aanvraag.
In beide gevallen als de buffer-kenmerk is ingesteld op false, het e-mailbericht bevat slechts één gebeurtenis. Met buffering is ingesteld op true, moet u ook opgeven van een bufferMode, waarmee wordt aangegeven hoe vaak de buffer. Er zijn sommige bufferModes standaard in de globale Het bestand web.config.

Als detailedTemplateErrors = "true" then fouten die optreden wanneer u de sjabloon wordt verzonden in de hoofdtekst van de e-mailberichten. Als detailedTemplateErrors = "false", een algemene fout wordt verzonden.

A gedetailleerde fout gegenereerd door EmailTemplateTest.aspx ziet er zo uit:
Serverfout in ' / WebSite3' toepassing.

Een niet-verwerkte Er is een uitzondering opgetreden tijdens de uitvoering van de sjabloonpagina maken deze gebeurtenisregistratie. 1 Gebeurtenissen die deel uitmaakten van dit bericht zijn verwijderd.

Beschrijving: Een onverwerkte uitzondering opgetreden tijdens de uitvoering van de huidige webaanvraag. Raadpleeg voor meer informatie op de stacktrace informatie over de fout en de oorsprong ervan in het code.

Details van uitzondering: System.Web.HttpException: Session state can alleen worden gebruikt wanneer enableSessionState is ingesteld op true, hetzij in een configuratie bestand of in de pagina-instructie. Controleer tevens dat System.Web.SessionStateModule of een aangepaste module voor sessiestatus is opgenomen in de <configuration>\<system.web>\ sectie<httpModules> in de de configuratie van de toepassing.

Bronbestand: c:\Documents en Settings\user\Desktop\WebEvents\WebSite3\WebSite3\e-mailTemplateTest.aspx.cs Regel: 17

Stacktrace: [HttpException (0x80004005): kan de sessiestatus alleen worden gebruikt wanneer enableSessionState is ingesteld op true, hetzij in een configuratie bestand of in de pagina-instructie. Controleer tevens dat System.Web.SessionStateModule of een aangepaste module voor sessiestatus is opgenomen in de <configuration>\<system.web>\ sectie<httpModules> in de Toepassingsconfiguratie.]
System.Web.UI.Page.get_Session() +146
e-mailTemplateTest.Page_Load(Object sender, EventArgs e) in c:\Documents en Settings\user\Desktop\WebEvents\WebSite3\WebSite3\e-mailTemplateTest.aspx.CS:17
System.Web.Util.CalliHelper.EventArgFunctionCaller (IntPtr FP Object o, Object t, EventArgs e) + 13
System.Web.Util.CalliEventHandlerDelegateProxy.Callback (Object afzender, EventArgs e) +45
System.Web.UI.Control.OnLoad (EventArgs e) +80
SystemWeb.UI.Control.LoadRecursive() Hieronder
System.Web.UI.Page.ProcessRequestMain (Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3749

[HttpUnhandledException (0x80004005): uitzondering van het type 'System.Web.HttpUnhandledException' is gegenereerd.]
System.Web.UI.Page.HandleError (Exception e) +929
System.Web.UI.Page.ProcessRequestMain (Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +7864
System.Web.UI.Page.ProcessRequest (Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +229
System.Web.UI.Page.ProcessRequest() + 12
System.Web.UI.Page.ProcessRequest (HttpContext context) +80
System.Web.HttpServerUtility.ExecuteInternal (IHttpHandler-handler TextWriter schrijver, Boolean preserveForm VirtualPath pad, VirtualPath filePath, String physPath, uitzonderingsfout, String queryStringOverride) +1012

[HttpException (0x80004005): fout uitvoerende onderliggende aanvraag voor / WebSite3/e-mailTemplateTest.aspx..]
System.Web.HttpServerUtility.ExecuteInternal (IHttpHandler handler, TextWriter schrijver, Boolean preserveForm, VirtualPath pad, VirtualPath filePath, String physPath, uitzonderingsfout, String queryStringOverride) +1525
System.Web.HttpServerUtility.Execute (String path, TextWriter-schrijver Boolean preserveForm) +754
System.Web.HttpServerUtility.ExecuteLocalRequestAndCaptureResponse (String pad, TextWriter schrijver, ErrorFormatterGenerator errorFormatterGenerator) +249</httpModules></system.web></configuration></httpModules></system.web></configuration>
Als het kenmerk ingesteld op false is en er een fout is, wordt u alleen een algemeen foutbericht, ziet er als volgt ophalen:
Server Fout in ' / WebSite3' toepassing.

Er is een onverwerkte uitzondering opgetreden tijdens de uitvoering van de sjabloonpagina waarmee deze gebeurtenis maken melding. De 8-gebeurtenissen die deel van dit bericht uitmaakten zijn verwijderd.

Beschrijving van De huidige configuratie kunnen de details van uitzondering in dit bericht worden opgenomen. Voeg toe de "detailedTemplateErrors = true" kenmerk aan de providerconfiguratie inschakelen details van uitzondering moet worden gerapporteerd.
Opmerking Voor de kenmerken die betrekking hebben op buffer elke flush resulteert in een melding. Als de afgeboekte gebeurtenissen die meer bevat dan maxEventsPerMessage is toegestaan, wordt de kennisgeving worden opgedeeld in meerdere e-mails maar deze zijn alle steeds dezelfde kennisgeving worden. Bijvoorbeeld, een Flush genereert 13 gebeurtenissen, maar maxEventsPerMessage kan slechts vijf. U krijgt drie e-mailberichten: de eerste twee e-mailberichten elke bevat vijf gebeurtenissen en het derde e-mailbericht bevat drie gebeurtenissen.

Als er meer e-mailberichten dan maxMessagesPerNotification is toegestaan, worden sommige gebeurtenissen verwijderd. Als u bijvoorbeeld maxMessagesPerNotification twee en u de dezelfde maxEventsPerMessage gebruiken als hierboven, zou slechts twee e-mailberichten ontvangen. De gebeurtenissen die zou zijn voor de derde e-mail worden neergezet. Een val of afgekapte meldingen wordt aangetekend in een van de e-mailberichten voor de eenvoudige e-mailprovider. Boven aan het e-mailbericht wordt het volgende weergegeven:
** Waarschuwingen **
---------------
De resterende voor deze 10 gebeurtenissen meldingsperiode verwijderd, omdat het maximum aantal berichten toegestaan melding is overschreden. (Waarschuwing-ID: 101)
Nadat u besturingselement van de indeling van het e-mailbericht voor de sjablonen provider hebt, hebt u druppels/afkapping zelf controleren en bepalen of u wilt opnemen in het e-mailbericht.

Opmerking E-mail providers gebruiken System.Net.Mail, dus u moet configureren System.Net.Mail in het bestand Web.config.

Voor meer informatie informatie over ASP.NET-instellingenschema, gaat u naar de volgende Microsoft-website website:
healthMonitoring Element (ASP.NET-instellingenschema)
http://msdn2.Microsoft.com/library/2fwh2ss9(en-US,VS.80).aspx
Bezoek voor meer informatie over het controleren van de gezondheid in ASP.NET 2.0 de volgende Microsoft-website:
Statuscontrole in ASP.NET 2.0 gebruiken
http://msdn2.Microsoft.com/en-us/library/ms998306.aspx
Zoals altijd, gerust ideeën over onderwerpen die u wilt verzenden in toekomstige kolommen behandeld of in de Knowledge Base met behulp van de Voor deze vraag met dit formulier.

Eigenschappen

Artikel ID: 893664 - Laatste beoordeling: vrijdag 30 november 2012 - Wijziging: 4.0
De informatie in dit artikel is van toepassing op:
  • Microsoft ASP.NET 2.0
Trefwoorden: 
kbhowto kbasp kbmt KB893664 KbMtnl
Automatisch vertaald artikel
BELANGRIJK: Dit artikel is vertaald door de vertaalmachine software van Microsoft in plaats van door een professionele vertaler. Microsoft biedt u professioneel vertaalde artikelen en artikelen vertaald door de vertaalmachine, zodat u toegang heeft tot al onze knowledge base artikelen in uw eigen taal. Artikelen vertaald door de vertaalmachine zijn niet altijd perfect vertaald. Deze artikelen kunnen fouten bevatten in de vocabulaire, zinsopbouw en grammatica en kunnen lijken op hoe een anderstalige de taal spreekt en schrijft. Microsoft is niet verantwoordelijk voor onnauwkeurigheden, fouten en schade ontstaan door een incorrecte vertaling van de content of het gebruik ervan door onze klanten. Microsoft past continue de kwaliteit van de vertaalmachine software aan door deze te updaten.
De Engelstalige versie van dit artikel is de volgende: 893664
Vrijwaring inhoud KB-artikelen over niet langer ondersteunde producten
Dit artikel heeft betrekking op producten waarvoor Microsoft geen ondersteuning meer biedt. Daarom wordt dit artikel alleen in de huidige vorm aangeboden en wordt het niet meer bijgewerkt.

Geef ons feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com