Makale numarası: 893664 - Son Gözden Geçirme: 14 Mart 2007 Çarşamba - Gözden geçirme: 3.3

ASP.NET 2.0 Web olayları

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.
Beta Bilgileri
Bu makalede, bir Microsoft ürününün beta sürümü anlatılmaktadır. Bu makaledeki bilgiler olduğu gibi sağlanmıştır ve önceden bildirilmeden değiştirilebilir.

Bu beta ürün için Microsoft resmi bir ürün desteği sağlamamaktadır. Beta sürümüne yönelik destek almak hakkında bilgi için beta ürün dosyalarının içerdiği belgelere bakın veya sürümü karşıdan yüklediğiniz Web konumunu denetleyin.
ASP.NET Destek Sesi Sütunu
Bu sütun için kendi gereksinimlerinize göre özelleştirmenin sizi ilgilendiren konular hakkındaki fikirlerinizi göndermeye davet ediyoruz ve gelecekte Knowledge Base makaleleri ve Destek Sesi sütunu görmek istediğiniz sorunlar giderilmiştir. Ask For It (http://support.microsoft.com/common/survey.aspx?scid=sw;en;1176&p0=&p1=&p2=&p3=&p4=) formunu kullanarak, fikir ve görüşlerinizi gönderebilirsiniz. Formun alt kısmındaki bu sütunun. bağlantı da orada

Bu Sayfada

Hepsini aç | Hepsini kapa

Giriş

ASP.NET Destek Sesi sütunu için Hoş Geldiniz! Benim Jerry Orman adıdır. BANA Microsoft'a 5 yıla üzerinde olan ve çoğu gibi FrontPage, Web ile ilgili teknolojiler ve yeni SharePoint teknolojilerine odaklanmış kullandığım zaman, harcadığınız. BANA bir destek mühendisine olarak ASP.NET ile geçen yıl harcadığınız.

Destek Sesi sütunu, bu aydaki, ASP.NET 2.0 gelecek sürümünde sunulan yeni Web olayları özelliğini açıklamak için BANA gitme.

ASP.NET 2.0 Web olayları özelliği

ASP.NET 2. 0'da sağlanan önemli yeni hizmetler Web biri sistem sağlığını tarafından sağlanan olayları özelliği. Web.config dosyasını değiştirerek, sistem sağlığını işlenemeyen özel duruma, zaman aşımına uğramış bir form, kimlik doğrulama biletlerini ve uygulamanıza oturum istediğiniz diğer verileri günlüğe kaydetmek için kullanabilirsiniz. Bu sütun, Web olayları özelliği kullanılarak başlatılan alma ve ASP.NET 2. 0'da çeşitli sağlayıcıları kullanmak örnekler de sağlar.

Günlüğe kaydetmeyi, olayları, bir sağlayıcı ile ilişkilendiren bir kural tanımlayarak gerçekleştirilir. Kural sağlayıcı için gönderilen bir olay türünü tanımlar. Aşağıdaki temel olayları oturum için kullanılabilir:
Bu tabloyu kapaBu tabloyu aç
DeğeriTüm olayları için taban olay sınıfı. Gereken içeren numarasını, olay iletisi ve Olay Ayrıntıları özellikleri gibi olay kodu, olay ayrıntı kodu, tarih ve saat geçirilen olayı, tüm olaylar için sıra.
WebManagementEventYönetim olayları, uygulama yaşam süresi, isteği, hata ve denetim olayları gibi temel olay sınıfı.
WebHeartbeatEventYararlı bir çal??ma zaman? durum bilgilerini yakalamak için düzenli aralıklarla uygulama tarafından oluşturulan olay.
WebAuditEventYetkilendirme hatası, şifre çözme hatası, vb. gibi koşullara işaretlemek için kullanılan güvenlik denetleme olayları için temel sınıfı
WebRequestEventTüm bilgi isteğine olayları için taban sınıf.
WebBaseErrorEventHata durumlarını gösteren tüm olayları için taban sınıf.
Kullanılabilir sağlayıcılar tür olay çıktı, Olay Görüntüleyicisi, SQL Server, Windows Yönetim Gereçleri (WMI) ve e-posta göndermek olanak sağlar. Önceden yapılandırılmış sağlayıcıları ve olay eşlemeler, günlüğe bir olay çıktı almak gerekli olan çalışma miktarını azaltın.

ASP.NET 2.0 olay günlüğü sağlayıcı çıkış-olarak--kutusunu başlatma ve durdurma yan? s?ra işlenmemiş özel durumlar günlüğü uygulama etki alanları üzerinde temel olayları günlüğe kaydetmek için kullanır. Bu, bazı temel senaryolar kaplayacak şekilde yardımcı olur. Örneğin, uygulamanız, bir özel durum atar, ancak kullanıcının hata kaydetmez ve yeniden başlatamıyor, diyelim ki. Varsayılan olay günlüğü kuralla ne tür bir hata oluştu, daha iyi bir fikir edinmek için özel durum ve yığın bilgileri toplamak gerçekleştirebilir. Veya, uygulamanızın oturum durumunu kaybetmeden ise, uygulama etki alanı geri neden uygulama etki alanının ilk durdurulmuş olup olmadığını belirlemek için olay günlüğüne bakın.

Ayrıca, sistem sağlığını Genişletilebilir vardır. Örneğin, özel Web olayları tanımlamak, bunları uygulamanızdaki ba?latmak ve sonra e-posta gibi bir sağlayıcı olay bilgilerini göndermek için bir kural tanımlayabilirsiniz. Bu, kolayca kendi araçları için sağlayıcıları sağlığını tedariği birbirine bağlamanın iki sağlar. Başka bir örnek olarak, her seferinde siparişe işlenir ve her bir olay SQL Server veritabanına gönderen bir kural ayarlama bir olayı harekete. Ayrıca bir satırda birden çok kez oturum açmak ve olayı, e-posta tabanlı sağlayıcısını kullanacak şekilde ayarlamak bir kullanıcı başarısız olduğunda, bir olayı harekete.

Varsayılan sağlayıcıları ve olayları yapılandırmasının genel Web.config dosyasında depolanır. Genel bir Web.config dosyası Machine.config dosyasındaki ASP.NET 1'de depolanan tüm Web tabanlı ayarları saklar. x. Genel Web.config dosyasında aşağıdaki dizinde bulunur:
%windir%\Microsoft.Net\Framework\v2.0.*\config\Web.config
Genel Web.config dosyasının <healthmonitoring>bölümünde, varsayılan yapılandırma ayarları sağlar. Bu ayarı geçersiz kılabilir veya uygulamanızın Web.config dosyasında <healthmonitoring>bölümü uygulayarak kendi ayarlarınızı yapılandırın.

Genel Web.config dosyasının <a1><healthmonitoring></a1> bölümüne aşağıdaki öğeleri içerir:
  • sağlayıcıları Olay Görüntüleyicisi, WMI ve SQL için ayarlanan sağlayıcıları içeren sunucu.
  • eventMappings Çeşitli WebBase sınıflarının eşlemeler içerir. Kendi olay sınıfı oluşturmak için bu listeyi genişletebilirsiniz. Kendi olay sınıfı oluşturma, daha parçalı yapı için bilgi gönderdiğinizde sağlayıcıları üzerinden sağlar. Örneğin, kendi özel olaylar, e-posta gönderirken, SQL Server'a gönderilecek işlenemeyen özel duruma yapılandırabilirsiniz.
  • kuralları The eventMappings sağlayıcıya bağlar.
  • arabelleğe alma SQL Server ve e-posta sağlayıcıları ile genellikle bu olaylar sağlayıcıya flush belirlemek için kullanılır.
Aşağıda genel Web.config dosyasındaki bir kod örneği olan.
<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>

Sağlayıcı örneği

Bu sağlayıcı örneği, aşağıdaki dosyaları içerir:
  • The ViewEvents.aspx dosyasıdüğmesini Page_Load ve günlüğe olay olay MyEvent özel web olayda tetikler. Web.config dosyasında olaylar SQL Server için günlüğe bir listesi için veritabanı bağlantısını kullanan bir GridView vardır.

    ASPNETDB veritabanınıza gösterecek şekilde Web.config dosyasında connectionString yapılandırdığınızdan emin olun.
  • The Web.config dosyası – çeşitli tüm sağlayıcılar var ve kurallar, yapılandırılmış ve diye. Sınamak istediğiniz kuralı uncomment ve çıktının nasıl göründüğünü görmek için default.aspx ve ViewEvent.aspx sayfalarına gözatmak.
  • The MyEvent.cs dosyası – App_Data klasöründe. Bu, özel bir olay ateşlenmesine ViewEvents.aspx sayfanın kullanılır.
  • The Default.aspx dosyası – ne işlenmeyen bir özel durum günlükleri görmek için bir System.NullReferenceException atar.
  • The EmailTemplateTest.aspx dosyası – TemplateemailProvider örnek için kullanılır. Arka planda kodlama dosya EmailTemplateTest.aspx dosyası için bir özel durum bu sayfayı neden olacak uncomment, kod satırlarını vardır.

Olay Görüntüleyicisi olayları depolamak için

MIYIM sağlayıcısı olayları için daha önce belirtildiği gibi Olay Görüntüleyicisi, genel Web.config dosyasında yapılandırıldı. Varsayılan olarak, WebBaseErrorEvent ve WebFailureAuditEvent dayalı tüm olayların günlüğe kaydedilir. Ek bilgi için olay günlüğüne günlüğe ek kurallar ekleyebilirsiniz. (Yani, her bir olay değeri alarak) olaylarını isteseydiniz, örneğin, aşağıdaki kural Web.config dosyasına ekleyebilirsiniz:
<healthMonitoring>
	<rules>
		<add name="All Events" eventName="All Events" provider="EventLogProvider" profile="Critical"  />
	</rules>
</healthMonitoring>
Bu kural için olay günlüğü sağlayıcının Tüm olayları olay eşleme bağlayabilirsiniz. EventMapping hem sağlayıcı genel Web.config dosyasında bulunur. Daha sonra ViewEvents.aspx sayfa sayfa tarama tarafından oluşturulan olaylar tetiklemek için de kullanabilirsiniz. Sayfayı da düğmesini tıklatın <a0>Page_Load ve</a0> olayına MyEvent özel olay harekete.

Oluşturulan veri türünü görmek için <a0></a0>, default.aspx sayfasına gidin. Bu, bir System.NullReferenceException özel durum oluşturur ve aşağıdaki olay olacaktır Olay Görüntüleyicisi'ni oturum:

Olay türü: uyarı
Olay kaynağı: ASP.NET 2.0.50601.0
Olay kategorisi: Web olay
Olay KIMLIĞI: 1311
Tarihi: 8/16/2005
Süre: 9:37:44 PM
Kullanı.: Yok
Bilgisayar: Computer name
Açıklama:
Olay kodu: 3005
Olay iletisi: işlenmeyen bir özel durum oluştu.
Olay saati: 8/16/2005 9:37:44 PM
Olay saati (UTC): 17/8/2005 2:37:44 AM
Olay KIMLIĞI: 88838b4e73cf4a0d9a36ac737ff9d1a0
Olay sırası: 39
Olay tekrarı: 1
Olay ayrıntı kodu: 0
Uygulama bilgilerini: uygulama etki alanı: d047d537 2 127687190240098660
Güven düzeyi: tam
Uygulama sanal yolu: /WebSite3
Physical path uygulamayı yolu:
Makine adı: Computer name
Bilgi işlem: işlem KIMLIĞI: 3776
Işlem adı: WebDev.WebServer.EXE
Hesap adı: etkialanı\kullanıcı
Özel durum bilgileri: özel durum türü: NullReferenceException
Özel durum iletisi: başvurusu bir nesnenin örneğine ayarlanmadı nesne.
Bilgi: URL isteği: http://localhost:1698/WebSite3/Default.aspx
Yol iste: /WebSite3/Default.aspx
Kullanıcı ana bilgisayar adresi: 127.0.0.1
Kullanıcı: domaın\user
Kimliği doğrulandı: doğru
Kimlik doğrulama türü: NTLM
Hesabın iş parçacığı adı: domaın\user
Bilgileri iş parçacığı:
KIMLIK iş parçacığı: 8
Hesabın iş parçacığı adı: domaın\user
Bürünülüyor: yanlış

Yığın izlemesi: _Default.Page_Load (object sender, EventArgs e), c:\Documents and Settings\user\Desktop\WebEvents\WebSite3\WebSite3\Default.aspx.cs:line 15 saat
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)
System.Web.Util.CalliEventHandlerDelegateProxy.Callback (object sender, EventArgs e)
System.Web.UI.Control.OnLoad (EventArgs e) System.Web.UI.Control.LoadRecursive() at
System.Web.UI.Page.ProcessRequestMain (Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

Özel olay ayrıntıları: daha fazla bilgi için http://support.microsoft.com adresindeki Yardım ve Destek Merkezi'ne bakın.

Tüm olayları olay günlüğüne günlüğe bilgi olayları oluşturur. Aşağıdaki olay URL'YI gösterir sayfa isteği izleyen yetkilendirme:

Olay Türü: bilgi
Olay kaynağı: ASP.NET 2.0.50601.0
Olay kategorisi: Web olayı
Olay KIMLIĞI: 1314
Tarihi: 8/16/2005
Süre: 11: 04: 44 PM
Kullanı.: Yok
Bilgisayar: Computer name
Açıklama:
Olay kodu: 4003
Olay iletisi: URL yetkilendirmesi için istek başarılı oldu.
Olay saati: 8/16/2005 11: 04: 44 PM
Olay saati (UTC): 17/8/2005 4: 04: 44 DE
Olay KIMLIĞI: fec3d73fba0247eaba425e5ccfada18e
Olay sırası: 2
Olay tekrarı: 1
Olay ayrıntı kodu: 0
Uygulama bilgileri:
Uygulama etki alanı: 1 d047d537 127687250829701433
Güven düzeyi: tam
Uygulama sanal yolu: /WebSite3
Uygulama yolu: C:\Documents and Settings\user\Desktop\WebEvents\WebSite3\WebSite3\
Makine adı: Computer name
Işlem bilgileri:
Işlem KIMLIĞI: 2292
Işlem adı: WebDev.WebServer.EXE
Hesap adı: etkialanı\kullanıcı
Bilgi iste:
URL iste: http://localhost:2087/WebSite3/Default.aspx
Yol iste: /WebSite3/Default.aspx
Kullanıcı ana bilgisayar adresi: 127.0.0.1
Kullanıcı: domaın\user
Kimliği doğrulandı: doğru
Kimlik doğrulama türü: NTLM
Hesabın iş parçacığı adı: domaın\user

Özel olay ayrıntıları:
Daha fazla bilgi için, http://support.microsoft.com adresindeki Yardım ve Destek Merkezi'ne bakın.

Nasıl yapılır: SQL Server'a olayları depolamak.

Bu yöntem, aspnet_regsql.exe aracı tarafından oluşturulan ASPNETDB veritabanı kullanır. Varsayılan sağlayıcı için bir dosya tabanlı veritabanı App_data klasöründe veya yerel SQLExpress örneğinin SQL Server'ın kullandığı LocalSqlServer bağlantı dizesini kullanır. Genel Web.config dosyasında LocalSqlServer bağlantı dizesi hem de SqlProvider yapılandırılmadı.

Bağlantı dizesi genel Web.config dosyasında aşağıdakine benzer LocalSqlServer:
<connectionStrings>
	<add name="LocalSqlServer" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" />
</connectionStrings>
Başka bir SQL sunucusu kullanmak isterseniz, %windir%\Microsoft.Net\Framework\v2.0.*\Aspnet_regsql.exe klasöründe bulunan aspnet_regsql.exe aracını kullanmanız gerekir. SQL Server sunucusuna özel bir ASPNETDB veritabanını oluşturmak ve bağlantı dizesi, uygulamaların .config dosyanıza ekleyin aspnet_regsql.exe aracı'nı kullanın ve sonra yeni bağlantı dizesini kullanarak sağlayıcı ekleyin. Oluşturduğunuz ASPNETDB veritabanını sonra bir eventMapping için sqlProvider bağlamak için bir kural kümesi kullanmanız gerekecektir.

Özel bir veritabanını yapılandırmak için <a0></a0>, aşağıdaki adımları izleyin:
  1. Bir ASPNETDB veritabanı oluşturur.
    1. Aspnet_regsql.exe –W'nı çalıştırın ve sonra da sihirbazla konusunda sizi yönlendiren.
    2. Işlemini otomatikleştirmek için komutu çalıştırın: Aspnet_regsql –A w –S SQL Server - E.
  2. Veritabanına işaret eden bir bağlantı dizesi ekleyebilir, böylece şöyle görünür:
    <connectionStrings>
    	<add name="MYASPNETDB" connectionString="Server=<SQL Instance>;Integrated Security=SSPI;Database=aspnetdb"/>
    </connectionStrings>
  3. MYASPNETDB bağlantı dizesi, kullanılacak sağlayıcının ekleyebilir, böylece şöyle görünür:
    <healthMonitoring>
    	<providers>
    		<add name="MySqlWebEventProvider" type="System.Web.Management.SqlWebEventProvider" connectionStringName="MYASPNETDB" maxEventDetailsLength="1073741823" buffer="false"/>
    	</providers>
    </healthMonitoring>
Varsayılan SqlProvider kullanın veya kendi sağlayıcısını yapılandırmak ister bir olay eşlemesi sağlayıcısında bağlantı, bir kural eklemek gerekir. Aşağıdaki kural, yukarıda oluşturduğunuz yeni sağlayıcı Tüm olayları olay eşlemeye bağlar. Bu kuralı değeri alarak tüm olayların günlüğe ve MYASPNETDB bağlantı dizesi kullanacağı MySqlWebEventProvider için gönderecek. Aşağıdaki kod, bir olay eşlemesi sağlayıcıya bağlanmak için bir kural ekler:
<healthMonitoring>
	<rules>
		<add name="All Events" eventName="All Events" provider="MySqlWebEventProvider" profile="Critical"/>
	</rules>
</healthMonitoring>
Hataları yalnızca SQL Server'a göndermek isterseniz, aşağıdaki kural ekleyebilirsiniz:
<add name="All Errors" eventName="All Errors" provider="MySqlWebEventProvider" profile="Critical"/>

WMI olay iletme nasıl kullanılır

Ayrıca, WMI olayları iletebilir. WMI sağlayıcısı, varsayılan olarak genel bir Web.config dosyasında yapılandırılır.

Aşağıdaki kod örneği için WMI olayları iletmek için bir kural ekler:
<providers>
	<add name="WmiWebEventProvider" type="System.Web.Management.WmiWebEventProvider,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
Sağlayıcıyı ve WMI dinleyici uygulama olayları dinlemek için bir eventMapping ilişkilendirmek için bir kural eklemeniz gerekir. Aşağıdaki kod örneği, Tüm olayları olay eşlemeye WMI sağlayıcısına bağlanmak için bir kural ekler:
<rules>
	<add name="All Events" eventName="All Events" provider="WmiWebEventProvider" profile="Critical"  />
</rules>
Olaylar için izleme ve konsol penceresinde görüntülemek için örnek konsol uygulaması SampleASPNET ManagementEventWatcher nesnesi kullanır.
SampleASPNET kullanmak için aşağıdaki adımları izleyin:
  1. SampleASPNET.exe başlatın.
  2. ViewEvents.aspx sayfasına gözatmaya; bunu yaptığınızda, konsol uygulaması ' listelenen bir olay görürsünüz.
  3. Günlük olay Button_Click Ek Yardım düğmesini tıklatın. Sayfayı yeniden deftere nakleder ve diğer olayları da oturum görürsünüz.
Bu resmi kapatBu resmi aç
Not Uzak bilgisayardaki olayları izliyorsanız, dinleme uygulama olarak, yönetici erişimi olan bir hesabın bu bilgisayar üzerinde çalıştırıyor olmanız gerekir.

Nasıl yapılır: olayları, e-posta olarak ilet

Ayrıca, olayları, e-posta iletebilir. Bu, doğrudan (büyük olasılıkla overflowing) Gelen Kutusu'na uygulama hakkında bilgi almak, izin. Hangi olay kuralları, istemeden kendiniz çok miktarda bilgi, gönderebileceğiniz gibi e-posta sağlayıcınıza eşleme daha iyi için SQL Server'ı veya olay günlüğüne uygun hakkında dikkat edin.

Iki e-posta sağlayıcıları, SimpleMailWebEventProvider ve TemplatedMailWebEventProvider vardır. Her, aynı yapılandırma öznitelikleri, yalnızca üzerinde TemplatedMailWebEventProvider kullanılabilir "Şablon" ve "detailedTemplateErrors" öznitelikleri dışında vardır.

Not Bu e-posta sağlayıcılarının hiçbiri sizin için yapılandırıldı. Web.config dosyasına eklemeniz gerekir.

Bu iki e-posta sağlayıcıları arasındaki ana fark SimpleMailWebEventProvider değiştirilemeyecek bir genel şablonda e-postalar gönderir ' dir. The sample Web.config file adds this e-mail provider to the list of configured providers by using the following rule:
<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"/>
Aşağıdaki kural ayrıca Tüm olayları olay eşlemesine e-posta sağlayıcısı tedariği birbirine bağlamanın iki eklenir:
<add name="All Events" eventName="All Events" provider="mySimple-mailWebEventProvider" profile="Critical"/>
E-posta uyarı iletisi aşağıdakine benzer:
Konu: Olay bildirim 12, part 1: Web EventsMicrosoft.Samples.WebEvents.MyEvent olay /WebSite3 aldı.

** Uygulama bilgisi **
---------------
Uygulama etki alanı: d047d537 9 127687218865923053 güven düzeyi: uygulama tam sanal yol: Uygulama yolu WebSite3: C:\Documents and Settings\user\Desktop\WebEvents\WebSite3\WebSite3\ makine adı: < bilgisayar adı >

** Olayları **
---------------
Olay kodu: 100010
Olay iletisi: button1_Click
Olay saati: 8/16/2005 10: 12: 52 PM
Olay saati (UTC): 17/8/2005 3: 12: 52 DE
Olay KIMLIĞI: 6e5cd252d6114a9e98687598dc6b5d50 olay sırası: 12 Olay tekrarı: 5 olay kodu ayrıntı: 0

Özel olay ayrıntıları:

---------------
Işlenmeyen bir özel durum gösteren bir e-posta uyarı iletisi şudur:
Konu: Olay bildirim 7, part 1: Web EventsSystem.Web.Management.WebRequestErrorEvent olay /WebSite3 aldı.

** Uygulama bilgisi **
---------------
Uygulama etki alanı: d047d537 5 127687293149504903 güven düzeyi: uygulama tam sanal yol: Uygulama yolu WebSite3: C:\Documents and Settings\user\Desktop\WebEvents\WebSite3\WebSite3\ makine adı: < bilgisayar adı >

** Olayları **
---------------
Olay kodu: 3005
Olay iletisi: işlenmeyen bir özel durum oluştu.
Olay saati: 17/8/2005 12: 17: 37 DE
Olay saati (UTC): 17/8/2005 5: 17: 37 DE
Olay KIMLIĞI: 14b7f24102e140bbbae302d80e5a5f36 olay sırası: 7 Olay tekrarı: 1 olay ayrıntı kodu: 0

Işlem bilgileri:
Işlem KIMLIĞI: 2292
Işlem adı: WebDev.WebServer.EXE
Hesap adı: domaın\user

Exception information:
Özel durum türü: System.NullReferenceException
Özel durum iletisi: başvurusu bir nesnenin örneğine ayarlanmadı nesne.

Bilgi iste:
URL iste: http://localhost:2087/WebSite3/Default.aspx
Yol iste: /WebSite3/Default.aspx
Kullanıcı ana bilgisayar adresi: 127.0.0.1
Kullanıcı: domaın\user
Kimliği doğrulandı: doğru
Kimlik doğrulama türü: NTLM
Hesabın iş parçacığı adı: domaın\user

Bilgileri iş parçacığı:
KIMLIK iş parçacığı: 7
Hesap adı iş parçacığı: domaın\user
Bürünülüyor: yanlış
Yığın izlemesi: _Default.Page_Load (object sender, EventArgs e), c:\Documents and Settings\user\Desktop\WebEvents\WebSite3\WebSite3\Default.aspx.cs:line 15 saat
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)
System.Web.Util.CalliEventHandlerDelegateProxy.Callback (object sender, EventArgs e)
System.Web.UI.Control.OnLoad (EventArgs e) System.Web.UI.Control.LoadRecursive() at
System.WebUI.Page.ProcessRequestMain (Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
TemplatedMailWebEventProvider bir ASPX sayfası--, onu tahmin--şablon olarak belirtmenize olanak verir. Sayfa ASPX çıktısını aldığınız veri görünümünü özelleştirmenize olanak tanıyacak e-posta gövdesinde kullanılır.

Örnek uygulama için Web.config TemplatedMailWebEventProvider eklemek için aşağıdaki kod kullanır dosya ve EmailTemplateTest.aspx sayfa şablonu olarak belirtin. (EmailTemplateTest.aspx sayfası aracılığıyla kullanılabilir arabellek olayları döngüsü ve bunları bir tabloda görüntüler.)
<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" />
E-posta uyarı iletisi aşağıdakine benzer:
Konu: Olay bildirim 3, part 1: 10 /WebSite3 içinde alınan olayları

Oluşumu kaynağı zaman kodu ayrıntı kod ileti
4 System.Web.Security.UrlAuthorizationModule 17/8/2005 12:40:45 DE 4003 0 URL yetkilendirmesi için istek başarılı oldu.
4 17/8/2005 12:40:45 4004 0, Istek için Dosya yetkilendirmesi başarılı AM.
7 ASP.ViewEvents_aspx webevent örnek sayfa yüklenirken 100010 0 17/8/2005 12:40:45 AM
8 ASP.ViewEvents_aspx 17/8/2005 12:40:45 100010 0 button1_Click AM
5 SystemWeb.Security.UrlAuthorizationModule 17/8/2005 12:40:45 DE 4003 0 URL yetkilendirmesi için istek başarılı oldu.
5 17/8/2005 12:40:45 4004 0, Istek için Dosya yetkilendirmesi başarılı AM.
9 ASP.ViewEvents_aspx webevent örnek sayfa yüklenirken 100010 0 17/8/2005 12:40:45 AM
10 ASP.ViewEvents_aspx 17/8/2005 12:40:45 100010 0 button1_Click AM
6 System.Web.Security.UrlAuthorizationModule 17/8/2005 12:40:46 DE 4003 0 URL yetkilendirmesi için istek başarılı oldu.
6 17/8/2005 12:40:46 4004 0, Istek için Dosya yetkilendirmesi başarılı AM.
Arabellek özniteliği yanlışsa, her iki durumda da, e-postayı tek bir olay içerir. True olarak Arabellek kullanımı etkinken, siz de genellikle arabelleği) temizleme nasıl belirten bir bufferMode belirtmeniz gerekir. Genel Web.config dosyasında bazı varsayılan bufferModes vardır.

DetailedTemplateErrors şablonu çalıştırdığınızda oluşabilecek hatalar e-postanın gövdesine gönderilen sonra = "true". DetailedTemplateErrors = "false" genel bir hata gönderilir.

EmailTemplateTest.aspx tarafından oluşturulan BIR ayrıntılı hata şuna benzer:
Sunucu hatası ' / WebSite3 ' uygulama.

Işlenmeyen özel durum, bu olay bildirimini oluşturmak için kullanılan şablon sayfasının yürütülmesi sırasında oluştu. Bu iletinin parçası olan 1 olay atıldı.

Açıklama:, Geçerli web isteği yürütülürken işlenmeyen bir özel durum oluştu. Lütfen hata ve kod içinde kaynaklandığı yer hakkında daha fazla bilgi almak için yığın izlemesini gözden geçirin.

Özel durum ayrıntıları: System.Web.HttpException: oturum durumu, yalnızca true, bir yapılandırma dosyasında veya Page yönergesinde enableSessionState ayarlandığında kullanılabilir. Ayrıca uygulama yapılandırması <configuration>\<system.web>\<httpmodules>bölümünde System.Web.SessionStateModule veya bir özel oturum durumu modülünün bulunduğunu sağlayın.

Kaynak dosyası'de: c:\Documents and Settings\user\Desktop\WebEvents\WebSite3\WebSite3\e-mailTemplateTest.aspx.cs satır: 17

Yığın izleme: [HttpException (0x80004005): oturum durumu, yalnızca true, bir yapılandırma dosyasında veya Page yönergesinde enableSessionState ayarlandığında kullanılabilir. Ayrıca uygulama yapılandırması <configuration>\<system.web>\<httpmodules>bölümünde System.Web.SessionStateModule veya bir özel oturum durumu modülünün bulunduğunu sağlayın.]
System.Web.UI.Page.get_Session() +146
c:\Documents and Settings\user\Desktop\WebEvents\WebSite3\WebSite3\e-mailTemplateTest.aspx.cs:17, e-mailTemplateTest.Page_Load(Object sender, EventArgs e)
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +13
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +45
(EventArgs e) System.Web.UI.Control.OnLoad +80
SystemWeb.UI.Control.LoadRecursive() +49
(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) System.Web.UI.Page.ProcessRequestMain +3749

[<a1>HttpUnhandledException</a1> (0x80004005): özel durum türü 'System.Web.HttpUnhandledException' oluşturuldu.]
<a1>System.Web.UI.Page.HandleError</a1> (özel durum e) +929
(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) System.Web.UI.Page.ProcessRequestMain +7864
(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) System.Web.UI.Page.ProcessRequest +229
System.Web.UI.Page.ProcessRequest() +12
(HttpContext içerik) System.Web.UI.Page.ProcessRequest +80
System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler Handler, TextWriter Writer, Boolean preserveForm, VirtualPath PATH, VirtualPath filePath, String physPath, Exception Error, String queryStringOverride) +1012

[HttpException (0x80004005): hata yürütülen alt isteği /WebSite3/e-mailTemplateTest.aspx.]
System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler Handler, TextWriter Writer, Boolean preserveForm, VirtualPath PATH, VirtualPath filePath, String physPath, Exception Error, String queryStringOverride) +1525
(Dize yol TextWriter yazan, Boolean preserveForm) System.Web.HttpServerUtility.Execute +754
System.Web.HttpServerUtility.ExecuteLocalRequestAndCaptureResponse(String PATH, TextWriter Writer, ErrorFormatterGenerator errorFormatterGenerator) +249
Öznitelik yanlış ise ve bir hata, yalnızca şöyle bir genel hata iletisini alırsınız:
Sunucu Hatası ' / WebSite3 ' uygulama.

Işlenmeyen özel durum, bu olay bildirimini oluşturmak için kullanılan şablon sayfasının yürütülmesi sırasında oluştu. Bu iletinin parçası olan 8 olay atıldı.

Açıklama: Geçerli yapılandırmayı, özel durum ayrıntılarının bu iletiye dahil engeller. Ekleme "detailedTemplateErrors = true" özel durum ayrıntılarının raporlanacak etkinleştirmek için sağlayıcı yapılandırmasına özniteliği.
Not Her temizleme, arabelleğe alma ile ilgili öznitelikleri için bir bildirim oluşur. Temizleme maxEventsPerMessage izin verilenden daha fazla olay içeriyorsa, bildirim birden çok e-postalar bozuk, ancak bunlar tüm hala aynı bildirim kabul edilir. Örneğin, bir temizleme 13 olayları oluşturur, ancak maxEventsPerMessage yalnızca beş verir. Üç e-posta alırsınız: ilk iki e-postalar her beş olay içerir ve üçüncü e-posta üç olayları içerir.

MaxMessagesPerNotification izin verilenden daha fazla e-postalar varsa, bazı olaylar bırakılır. Örneğin, iki maxMessagesPerNotification ayarlayın ve aynı olarak maxEventsPerMessage yukarıdaki kullanıyorsanız, yalnızca iki e-posta aldığınız. E-posta üzerinde üçüncü olabilecek olaylar bırakılır. Herhangi bir düşme veya bildirim kesme bir e-postalar basit posta sağlayıcısı için Not. E-posta üst aşağıdakileri gösterir:
** Uyarı **
---------------
Iletileri bildirim izin verilen en fazla sayısını aştığından bu bildirim dönemin kalan 10 olaylar atılır. (Uyarı KIMLIĞI: 101)
Templated sağlayıcısı için e-posta biçimi denetimini sahip olduğundan, düşme/kesme kendiniz denetlemek, e-posta dahil edilip edilmeyeceğini belirlemek vardır.

Not Böylece, Web.config dosyasında System.Net.Mail yapılandırmak zorunda posta sağlayıcılarının System.Net.Mail, kullanın.
ASP.NET Web olayları özelliği hakkında daha fazla bilgi için 2.0, aşağıdaki Web olayları örnek dosyaları karşıdan yükleyebilirsiniz.
Bu resmi kapatBu resmi aç
Download
Download the Web Events Sample.exe package now. (http://download.microsoft.com/download/a/1/e/a1ea5122-a6c4-4331-bad8-8556f256004c/web events sample.exe)
ASP.NET Ayarlar Şeması hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin:
<a1>healthMonitoring</a1> öğesi (ASP.NET Ayarlar Şeması)
http://msdn2.microsoft.com/library/2fwh2ss9(en-us,vs.80).aspx (http://msdn2.microsoft.com/library/2fwh2ss9(en-us,vs.80).aspx)
ASP.NET 2. 0'da sağlık izleme hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin:
ASP.NET 2. 0'da sağlık izleme nasıl kullanılır
http://msdn2.microsoft.com/en-us/library/ms998306.aspx (http://msdn2.microsoft.com/en-us/library/ms998306.aspx)
Her zaman olarak kendinizi boş gönderme fikirleri konuları istediğiniz sütunları gelecekte ele ya da bilgi bankasına kullanarak Ask For It (http://support.microsoft.com/common/survey.aspx?scid=sw;en;1176&p0=&p1=&p2=&p3=&p4=) formu.

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft ASP.NET 2.0
Anahtar Kelimeler: 
kbmt kbhowto kbasp KB893664 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:893664  (http://support.microsoft.com/kb/893664/en-us/ )
Retired KB ArticleKullanım Dışı Bilgi Bankası İçeriği Yasal Uyarı
Bu makale, Microsoft'un artık destek sağlamadığı ürünler ile ilgili olarak yazılmıştır. Bu nedenle, bu makale "olduğu gibi" sağlanmıştır ve bundan sonra güncelleştirilmeyecektir.