ASP.NET 2.0 Web olayları

Makale çevirileri Makale çevirileri
Makale numarası: 893664 - Bu makalenin geçerli olduğu ürünleri görün.
Beta bilgileri
Bu makalede, Microsoft Beta sürümü anlatılmaktadır. Ürün. Bu makaledeki bilgiler olduğu gibi sağlanmıştır-konusu ise belirtilmeksizin değiştirilebilir.

Resmi bir ürün desteği kullanılabilir Bu Beta ürün için Microsoft. Destek almak hakkında bilgi için Beta sürümü için Beta ile gelen belgelere bakın. Ürün dosyaları veya karşıdan yüklediğiniz Web konumunu onay serbest bırakın.
ASP.NET Destek Sesi sütunu
Bu sütunun ihtiyaçlarınıza özelleştirmek için sizi ilgilendiren konular hakkındaki fikirlerinizi göndermeye davet ediyoruz ve Bilgi Bankası makaleleri ve Destek Sesi sütunu gelecekte görmek istediğiniz konuları ele. Kullanarak fikir ve görüşlerinizi gönderebilirsiniz Bunun için sor Form. Bu sütunun alt forma bir bağlantı yoktur.
Hepsini aç | Hepsini kapa

Bu Sayfada

Giriş

ASP.NET Destek Sesi sütunu için Hoş Geldiniz! Benim adım Jerry Orman. Ben Microsoft ile üzerinde 5 yıldır ve çoğunu harcadığınız benim Web ilişkili teknolojiler FrontPage ve yeni gibi zaman odaklanan SharePoint teknolojileri. ASP.NET ile çalışma geçen yıl kullanmış olduğunuz bir destek mühendisi.

Bu ay içinde destek sesi sütunu ben gidiyorum gelecek sürümde sağlanan yeni Web olayları özelliği tanımlamak için ASP.NET 2.0.

ASP.NET 2. 0'ın Web olayları özelliği

ASP.NET 2. 0 ' sağlanan önemli yeni Hizmetleri Web biridir Sistem durumu izleme sistem tarafından sağlanan olayları özelliği. Değiştirerek Web.config dosyası, sistem durumu izleme sistemi kullanabilirsiniz işlenmemiş günlüğü özel durumlar, zaman aşımına uğramış formlar, kimlik doğrulama biletlerinde ve herhangi bir veri istediğiniz uygulamanızda oturum. Bu sütun Web'i kullanarak başlamanıza Olayları özelliğe ve ayrıca çeşitli kullanma örnekleri sağlar ASP.NET 2.0 sağlayıcıları.

Günlük bir kural tanımlayarak gerçekleştirilir. olaylar, bir sağlayıcı ile ilişkilendirir. Kural olayların türünü tanımlar. Bu sağlayıcı için gönderilir. Aşağıdaki temel olaylar sizin için kullanılabilir oturum açmak için:
Bu tabloyu kapaBu tabloyu aç
DeğeriTüm olayları temel olay sınıfı. İçerir olay kodu olay ayrıntı kodu gibi tüm olaylar için gerekli özellikler Tarih ve olay yükseltildi, saat sıra numarası olay iletisi ve Olay Ayrıntıları.
WebManagementEventTemel olay yönetimi olayları gibi sınıf uygulama ömrü, istek, hata ve denetim olayları.
WebHeartbeatEventNormal uygulama tarafından oluşturulan olay yararlı runtime durum bilgileri yakalamak için aralıkları.
WebAuditEventKullanılan güvenlik denetim olayları için taban sınıf Yetkilendirme hatası, şifre çözme hatası, vb. gibi koşullar işaretlemek için
WebRequestEventTüm bilgi isteği olayları için taban sınıf.
WebBaseErrorEventHata gösteren tüm olayları için taban sınıf koşullar.
Kullanılabilir sağlayıcılar tür olay çıktı göndermenize izin Olay Görüntüleyicisi, SQL Server, Windows Yönetim Araçları (WMI) için ve e-posta. Önceden yapılandırılmış sağlayıcıları ve olay eşlemelerini azaltmak günlüğe olay çıktı almak gerekli çalışma.

ASP.NET 2.0, olay kullanır. Günlük sağlayıcı out-başlangıç uygulama etki alanları üzerinde tabanlı olayları günlüğe kaydetmek için çalıştırma ve durdurma herhangi oturum yanı sıra işlenmemiş. Bu kapak yardımcı olur bazı temel senaryo. Örneğin, diyelim ki, uygulama yapamazsınız ve bir özel durum atar, ancak kullanıcı olmayan kaydetme hatası yeniden. Varsayılan olay günlüğü kuralla, toplamak mümkün olacaktır ne tür bir hata hakkında daha iyi bir fikir edinmek için özel durum ve yığın bilgileri oluştu. Veya uygulamanızın oturum durumunu kaybetmek ise, arayabilirsiniz Uygulama etki alanı geri dönüşüm olup olmadığını, nedenini belirlemek için olay günlüğü uygulama etki alanı ilk başta durdu.

Ayrıca, sistem durumu izleme sistemi genişletilebilir bir sistemdir. Örneğin, özel Web olaylar tanımlayabilirsiniz, bunları uygulamanızdaki yangın ve olayı göndermek üzere bir kural tanımlayın bir sağlayıcı, e-posta gibi bilgileri. Bu sayede kolayca birbirine Sistem durumu izleme sağlayıcılarını için araçları. Başka bir örnek olarak, Sipariş işlenir ve bir kuralı ayarlamak her zaman bir olay tetikleyin, Her olay, SQL Server veritabanına gönderir. Bir olayı harekete, bir satırda birden çok kez oturum açmak ve kullanmak için olay ayarlamak kullanıcı başarısız e-posta tabanlı sağlayıcıları.

Varsayılan sağlayıcı için yapılandırma ve olayları genel Web.config dosyasında depolanır. Genel Web.config dosyası Machine.config dosyasında depolanmış tüm Web tabanlı ayarları saklar. ASP 1 x. Genel Web.config dosyasına aşağıdaki sonucu bulunur. Dizin:
%windir%\Microsoft.Net\Framework\v2.0.*\config\Web.config
Genel Web.config dosyasının <healthMonitoring>bölümü Varsayılan yapılandırma ayarları sağlar. Bu ayarı geçersiz kılabilir veya <healthMonitoring>uygulayarak kendi ayarlarınızı yapılandırın uygulamanızın Web.config dosyasındaki bölüm.

, <healthMonitoring>bölüm genel Web.config dosyasının içerir Aşağıdaki öğeler: </healthMonitoring></healthMonitoring></healthMonitoring>
  • sağlayıcıları Olay Görüntüleyicisi, WMI ve SQL için ayarlanmış sağlayıcıları içerir Sunucu.
  • eventMappings Çeşitli WebBase sınıfları için eşleşmelerini içerir. Genişletebilirsiniz kendi olay sınıfı oluşturursanız bu liste. Kendi olay sınıfı oluşturma bilgi göndermek sağlayıcıları üzerinden daha hassas ayrıntı düzeyi sağlar. İçin Örneğin, SQL Server'a gönderilecek işlenmeyen özel durumlar yapılandırabilirsiniz, kendi özel olaylar e-posta gönderilirken.
  • kuralları Sağlayıcı için eventMappings bağlar.
  • arabelleğe alma SQL Server ve e-posta sağlayıcıları ile sıklığını belirlemek için kullanılan sağlayıcıya olayları temizlemek için.
Genel Web.config dosyasındaki bir kod örneği aşağıdadır.
<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:
  • ViewEvents.aspx dosyası – Page_Load ve günlüğe olay kaydetme düğmesini tıklatın olay MyEvent özel web olayı tetikler. Veritabanı bağlantısını kullanan bir GridView vardır SQL Server'a oturum olaylarını listelemek için Web.config dosyası.

    Emin olun connectionString, Web.config dosyasında, ASPNETDB veritabanını işaret edecek şekilde yapılandırın.
  • Web.config dosyası – çeşitli sağlayıcıları ve yapılandırılmış kuralları vardır ve kılınmıştır. Test, sonra göz istediğiniz kuralı açıklama karakterlerini kaldırın. Çıktı göründüğünü görmek için Default.aspx ve ViewEvent.aspx sayfaları gibi.
  • MyEvent.cs dosyası – App_Data klasöründe bulunur. Bu kullanılır Özel bir olay ba?latmak için ViewEvents.aspx sayfası'nı tıklatın.
  • Default.aspx dosyasını – hangi işlenmeyen bir görmek için bir System.NullReferenceException atar özel durum günlüklerinin.
  • EmailTemplateTest.aspx dosyası – TemplateemailProvider örnek için kullanılır. Arka plan kod dosyası açıklama karakterlerini EmailTemplateTest.aspx dosya kod satırları için kaldırın, hangi bir özel durum sayfa neden olur.

Olay Görüntüleyicisi olayları saklamak nasıl

Sağlayıcı oturum açma olayları için ben daha önce belirtildiği gibi Olay Görüntüleyicisi'ni sizin için Web.config dosyasında yapılandırılır. Varsayılan olarak, WebBaseErrorEvent ve WebFailureAuditEvent göre tüm olaylar günlüğe kaydedilir. Günlük ek ek kurallar ekleyebilirsiniz Olay günlüğü bilgileri. Örneğin, (diğer bir deyişle, her olay değerialarak) bütün olayların günlüğünü tut isteseydiniz, Web.config dosyasına aşağıdaki kuralı ekleyebilirsiniz:
<healthMonitoring>
	<rules>
		<add name="All Events" eventName="All Events" provider="EventLogProvider" profile="Critical"  />
	</rules>
</healthMonitoring>
Bu kural Tüm olayları olay haritası için olay günlüğü sağlayıcısı bağlayabilirsiniz. Her iki eventMapping ve Sağlayıcı genel Web.config dosyasında dahil. Daha sonra kullanabilirsiniz Sayfa Tarama tarafından üretilen olayları tetiklemek için ViewEvents.aspx sayfası'nı tıklatın. , Sayfa ayrıca Page_Load ve düğmesini tıklatın olay MyEvent özel olayı ateşlenir.

Oluşturulan veri türünü görmek için Gözat Default.aspx sayfasını. Bu bir System.NullReferenceException özel durum oluşturur ve aşağıdaki olay olay günlüğe kaydedilir Görüntüleyici:

Olay türü: uyarı
Olay kaynağı: ASP.NET 2.0.50601.0
Olay kategorisi: Web olayı
Olay Kimliği: 1311
Tarih: 16/8/2005
Süre: 9:37:44 PM
Kullanıcı: yok
Bilgisayar: Bilgisayar adı
Açıklama:
Olay kodu: 3005
Olay iletisi: işlenmemiş bir özel durum oluştu.
Olay saati: 16/8/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 bilgileri: uygulama etki alanı: d047d537 2 127687190240098660
Güven düzeyi: tam
Sanal uygulama Yol: /WebSite3
Uygulama yolu: Fiziksel yol
Makine adı: Bilgisayar adı
Bilgi işlem: işlem kimliği: 3776
İşlem adı: WebDev.WebServer.EXE
Hesap adı: etkialanı\kullanıcı
Özel durum bilgileri: Özel durum türü: NullReferenceException
Özel durum iletisi: nesne başvurusu bir nesnenin örneğine ayarlanmadı.
Bilgi isteği: istek URL'si: http://localhost:1698/WebSite3/default.aspx
İstek yolu: /WebSite3/default.aspx
Kullanıcı ana bilgisayar adresi: 127.0.0.1
Kullanıcı: Etkialanı\kullanıcı
Kimliği doğrulandı: doğru
Kimlik doğrulama türü: NTLM
İş parçacığı Hesap adı: etkialanı\kullanıcı
İş parçacığı bilgileri:
İş parçacığı kimliği: 8
İş parçacığı Hesap adı: etkialanı\kullanıcı
Bürünülüyor: yanlış

Yığın izlemesi: at _Default.Page_Load (object sender, EventArgs e) içinde c:\Documents ve Settings\user\Desktop\WebEvents\WebSite3\WebSite3\Default.aspx.cs:Line 15
System.Web.Util.CalliHelper.EventArgFunctionCaller (IntPtr fp, nesne o, nesne t, EventArgs e)
AT System.Web.Util.CalliEventHandlerDelegateProxy.Callback (Object sender, EventArgs e)
at (EventArgs e) System.Web.UI.Control.OnLoad at 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 bilgi, Yardım ve Destek Merkezi'ne bakın. http://support.microsoft.com.

Tüm olayları için olay günlüğü bilgilendirme olayları oluşturur. URL aşağıdaki olay gösterir Yetkilendirme: sayfa isteği başarılı

Olay Türü: bilgi
Olay kaynağı: ASP.NET 2.0.50601.0
Olay kategorisi: Web Olay
Olay Kimliği: 1314
Tarih: 8/16/2005
Saat: 11:04:44 PM
Kullanıcı: YOK
Bilgisayar: Bilgisayar adı
Açıklama:
Olay kodu: 4003
Olay iletisi: URL Yetkilendirme için istek başarılı oldu.
Olay saati: 16/8/2005 11:04:44 PM
Olay saati (UTC): 17/8/2005 4:04:44 AM
Olay Kimliği: fec3d73fba0247eaba425e5ccfada18e
Olay sırası: 2
Olay tekrarı: 1
Olay ayrıntı kodu: 0
Uygulama bilgileri:
Uygulama etki alanı: d047d537 1 127687250829701433
Güven düzeyi: tam
Sanal uygulama Yol: /WebSite3
Uygulama yolu: C:\Documents ve Settings\user\Desktop\WebEvents\WebSite3\WebSite3\
Makine adı: Bilgisayar adı
İşlem bilgisi:
İşlem KİMLİĞİ: 2292
İşlem adı: WebDev.WebServer.EXE
Hesap adı: Etkialanı\kullanıcı
İstek bilgileri:
İstek URL'si: http://localhost:2087/WebSite3/default.aspx
İstek yolu: /WebSite3/default.aspx
Kullanıcı ana bilgisayar adresi: 127.0.0.1
Kullanıcı: Etkialanı\kullanıcı
Kimliği doğrulandı: doğru
Kimlik doğrulama türü: NTLM
İş parçacığı Hesap adı: etkialanı\kullanıcı

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

SQL Server olayları depolamak nasıl

Bu yöntem, Aspnet_regsql.exe aracı tarafından oluşturulan ASPNETDB veritabanını kullanır. , varsayılan sağlayıcı kullanır ya da kullandığı LocalSqlServer bağlantı dizesi bir dosya tabanlı veritabanı App_data klasöründe veya yerel SQLExpress örneği SQL Server. Hem LocalSqlServer bağlantı dizesi, hem de SqlProvider Genel Web.config dosyasında yapılandırılır.

LocalSqlServer Genel Web.config dosyasında bağlantı dizesi aşağıdaki gibi görünür:
<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 Server sunucusu kullanmak isterseniz, kullanmanız gerekir İçinde bulunan Aspnet_regsql.exe aracı %windir%\Microsoft.Net\Framework\v2.0.*\Aspnet_regsql.exe klasör. Kullanım Aspnet_regsql.exe aracı, SQL Server sunucusunda özel bir ASPNETDB veritabanı oluşturun, ardından bağlantı dizesi eklemek için için uygulamalar .config dosyasını ve ardından kullanarak yeni bir sağlayıcı Ekle bağlantı dizesi. ASPNETDB veritabanı oluşturuldu olduktan sonra bağlamak için bir kural kümesi gerekecek bir sqlProvider için eventMapping.

Özel veritabanını yapılandırmak için şu adımları izleyin:
  1. ASPNETDB veritabanı oluşturun.
    1. Aspnet_regsql.exe –W çalıştırın ve izlenecek yol Sihirbazı.
    2. İşlemini otomatikleştirmek için komutunu çalıştırın: Aspnet_regsql –A w –S SQL Server -E.
  2. Bu nedenle veritabanına işaret eden bir bağlantı dizesi Ekle onun şöyle görünür:
    <connectionStrings>
    	<add name="MYASPNETDB" connectionString="Server=<SQL Instance>;Integrated Security=SSPI;Database=aspnetdb"/>
    </connectionStrings>
  3. Bu nedenle MYASPNETDB bağlantı dizesi kullanmak için bir sağlayıcı Ekle onun şöyle görünür:
    <healthMonitoring>
    	<providers>
    		<add name="MySqlWebEventProvider" type="System.Web.Management.SqlWebEventProvider" connectionStringName="MYASPNETDB" maxEventDetailsLength="1073741823" buffer="false"/>
    	</providers>
    </healthMonitoring>
Olup SqlProvider varsayılanı kullanın veya kendi yapılandırma Sağlayıcı, sağlayıcı bir olay Haritası ile bağlama 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 bütün olayların günlüğünü tut ve kullanacağı MySqlWebEventProvider gönderin MYASPNETDB bağlantı dizesi. Aşağıdaki kod, bağlamak için bir kural ekler bir olay eşlemesi sağlayıcı:
<healthMonitoring>
	<rules>
		<add name="All Events" eventName="All Events" provider="MySqlWebEventProvider" profile="Critical"/>
	</rules>
</healthMonitoring>
Yalnızca SQL Server hataları gönderme isteseydiniz, ekleyebilirsiniz Aşağıdaki kural:
<add name="All Errors" eventName="All Errors" provider="MySqlWebEventProvider" profile="Critical"/>

WMI olayları iletmek nasıl

Ayrıca, WMI olayları iletebilirsiniz. WMI sağlayıcısı sizin için varsayılan olarak genel 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>
Bir eventMapping için ilişkilendirmek için kural eklemeniz gerekir Sağlayıcı ve ayrıca olayları dinlemenize olanak WMI dinleyicisi uygulama. , Aşağıdaki kod örneğinde, Tüm olayları olay eşlemeye WMI sağlayıcısı bağlamak için bir kural ekler:
<rules>
	<add name="All Events" eventName="All Events" provider="WmiWebEventProvider" profile="Critical"  />
</rules>
SampleASPNET örnek konsol uygulama olaylarını izlemek ve bunları konsolda görüntülemek için ManagementEventWatcher nesnesini kullanır. pencere.
SampleASPNET kullanmak için şu adımları izleyin:
  1. SampleASPNET.exe başlatın.
  2. ViewEvents.aspx sayfaya göz atın; Bunu yaptığınızda, göreceksiniz Konsol uygulamasında listelenen olaylar.
  3. ' I tıklatın Günlük Olay Button_Click. Sayfa tekrar deftere nakleder ve de kaydedilen ek olayları görürsünüz.
Bu resmi kapatBu resmi aç
893664
Not Dinleme bir uzak bilgisayardaki olayları izleme yapıyorsanız Uygulama bu bilgisayarda bir yönetici hesabıyla olarak çalıştırılıyor olması gerekir erişim.

E-posta iletme olaylara nasıl

E-posta olayları iletir. Bu, almak izin verir uygulamanızda doğrudan, (muhtemelen taşan) hakkında bilgi Gelen kutusu. Hangi olay olarak e-posta sağlayıcınıza eşleme kuralları hakkında dikkatli olun istemeden kendiniz pek çok daha iyi bilgi gönderebilirsiniz SQL Server veya olay günlüğü için uygun.

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

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

Arasındaki temel fark Bu iki e-posta sağlayıcıları olan SimpleMailWebEventProvider e-postalar gönderdiğini bir genel şablon değiştirilemez. Örnek Web.config dosyası ekler Bu e-posta sağlayıcısı aşağıdaki kullanarak yapılandırılmış sağlayıcıları listesi Kural:
<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, Tüm olayları olay haritası için e-posta sağlayıcısı bağlamanız da 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, Bölüm 1: Web Alınan EventsMicrosoft.Samples.WebEvents.MyEvent olay / WebSite3

** Uygulama bilgileri **
---------------
Uygulama etki alanı: d047d537 9 127687218865923053 Güven düzeyi: tam uygulama sanal yolu: WebSite3 uygulama yolu: C:\Documents and Settings\user\Desktop\WebEvents\WebSite3\WebSite3\ makine adı:<computer name="">

** Olayları **
---------------
Olay kod: 100010
Olay iletisi: Button1_Click
Olay saati: 16/8/2005 10:12:52 PM
Olay saati (UTC): 17/8/2005 3:12:52 AM
Olay Kimliği: 6e5cd252d6114a9e98687598dc6b5d50 olay sırası: 12 olay tekrarı: 5 olay detay kodu: 0

Özel olay Ayrıntılar:

---------------</computer>
E-posta uyarısı aşağıdadır gösterir işlenmeyen bir özel durum iletisi:
Konu: Olay bildirimi 7, Bölüm 1: Web Alınan EventsSystem.Web.Management.WebRequestErrorEvent olay / WebSite3

** Uygulama bilgileri **
---------------
Uygulama etki alanı: d047d537 5 127687293149504903 Güven düzeyi: tam uygulama sanal yolu: WebSite3 uygulama yolu: C:\Documents and Settings\user\Desktop\WebEvents\WebSite3\WebSite3\ makine adı:<computer name="">

** Olayları **
---------------
Olay kod: 3005
Olay iletisi: işlenmemiş bir özel durum oluştu.
Olay zaman: 17/8/2005 12:17:37 AM
Olay saati (UTC): 17/8/2005 5:17:37 AM
Olay Kimliği: 14b7f24102e140bbbae302d80e5a5f36 olay sırası: 7 olay oluşumu: 1 olay ayrıntı kodu: 0

İşlem bilgisi:
İşlem KİMLİĞİ: 2292
İşlem adı: WebDev.WebServer.EXE
Hesap adı: Etkialanı\kullanıcı

Özel durum bilgileri:
Özel durum türü: System.NullReferenceException
Özel durum iletisi: nesne başvurusu ayarlı değil bir nesne örneği için.

İstek bilgileri:
İstek URL'si: http://localhost:2087/WebSite3/default.aspx
İstek yolu: /WebSite3/default.aspx
Kullanıcı ana bilgisayar adresi: 127.0.0.1
Kullanıcı: Etkialanı\kullanıcı
Kimliği doğrulandı: doğru
Kimlik doğrulama türü: NTLM
İş parçacığı Hesap adı: etkialanı\kullanıcı

İş parçacığı bilgileri:
İş parçacığı kimliği: 7
İş parçacığı hesap adı: etkialanı\kullanıcı
Bürünülüyor: yanlış
Yığın izleme: c:\Documents içinde _Default.Page_Load (Object sender, EventArgs e), ve Settings\user\Desktop\WebEvents\WebSite3\WebSite3\Default.aspx.cs:Line 15
System.Web.Util.CalliHelper.EventArgFunctionCaller (IntPtr fp, nesne o, nesne t, EventArgs e)
AT System.Web.Util.CalliEventHandlerDelegateProxy.Callback (Object sender, EventArgs e)
at (EventArgs e) System.Web.UI.Control.OnLoad at System.Web.UI.Control.LoadRecursive()
AT System.WebUI.Page.ProcessRequestMain (Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)</computer>
TemplatedMailWebEventProvider ASPX sayfası--, onu tahmin--şablon olarak belirtmenize olanak verir. , ASPX sayfasının çıktısını izin veren e-postanın gövdesine kullanılır aldığınız veri görünümünü özelleştirin.

Örnek uygulama TemplatedMailWebEventProvider Web.config dosyasına eklemek için aşağıdaki kod kullanır. Dosya ve EmailTemplateTest.aspx sayfa şablonu belirtin. ( EmailTemplateTest.aspx sayfa döngüler aracılığıyla kullanılabilir arabellek olayları ve onları 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, Bölüm 1:10 olayları alınan / WebSite3

Oluşumu kaynak zaman kodu ayrıntı kod ileti
4 System.Web.Security.UrlAuthorizationModule 17/8/2005 12:40:45 AM 4003 0 URL Yetkilendirme için istek başarılı oldu.
4 8/17/2005 12:40:45 AM 4004 0 Dosya yetkilendirmesi için istek başarılı oldu.
7 ASP.ViewEvents_aspx 17/8/2005 12:40:45 AM 100010 0 webevent örnek sayfa yükleniyor
8 ASP.ViewEvents_aspx 17/8/2005 12:40:45 AM 100010 0 Button1_Click
5 SystemWeb.Security.UrlAuthorizationModule 17/8/2005 12:40:45 AM 4003 0 URL Yetkilendirme için istek başarılı oldu.
5 8/17/2005 12:40:45 AM 4004 0 Dosya yetkilendirmesi için istek başarılı oldu.
9 ASP.ViewEvents_aspx 17/8/2005 12:40:45 AM 100010 0 webevent örnek sayfa yükleniyor
10 ASP.ViewEvents_aspx 17/8/2005 12:40:45 AM 100010 0 Button1_Click
6 System.Web.Security.UrlAuthorizationModule 17/8/2005 12:40:46 AM 4003 0 URL Yetkilendirme için istek başarılı oldu.
6 8/17/2005 12:40:46 AM 4004 0 Dosya yetkilendirmesi için istek başarılı oldu.
Her iki durumda, Arabellek öznitelik false'tur, e-postayı tek bir olay içerir. İle true olarak arabelleğe alma, ayrıca gösterir bir bufferMode belirtmek gerekir nasıl genellikle arabellek temizler. Genel bazı varsayılan bufferModes vardır Web.config dosyası.

Varsa detailedTemplateErrors = "true" then hataları oluşan yürüttüğünüzde şablonun gövdesine gönderilecek e-posta. Varsa detailedTemplateErrors = "false", genel bir hata gönderilir.

A EmailTemplateTest.aspx tarafından atılan ayrıntılı hata şuna benzer:
Sunucu hatası ' / WebSite3' uygulama.

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

Açıklama: Sırasında işlenmeyen bir özel durum oluştu. Geçerli web isteğinin yürütülmesi. Lütfen daha fazla bilgi için yığın izlemesini gözden hata ve içinde üretildiği hakkında bilgi kodu.

Özel Durum ayrıntıları: System.Web.HttpException: oturum durumu can ENABLESESSIONSTATE yapılandırmasında ya da true olarak ayarlandığında, yalnızca kullanılması Dosya veya sayfa yönergesinde. Lütfen ayrıca emin olun System.Web.SessionStateModule veya özel bir oturum durumu modülünün bulunmaktadır <configuration>\<system.web>\<httpModules> bölümünde uygulama yapılandırması.

Kaynak dosyası: c:\Documents ve Settings\user\Desktop\WebEvents\WebSite3\WebSite3\e-mailTemplateTest.aspx.cs Satır: 17

Yığın izleme: [HttpException (0x80004005): oturum durumu olabilir ENABLESESSIONSTATE yapılandırmasında ya da true olarak ayarlandığında, yalnızca kullanılması Dosya veya sayfa yönergesinde. Lütfen ayrıca emin olun System.Web.SessionStateModule veya özel bir oturum durumu modülünün bulunmaktadır <configuration>\<system.web>\<httpModules> bölümünde uygulama yapılandırması.]
System.Web.UI.Page.get_Session() +146
e-mailTemplateTest.Page_Load(Object sender, EventArgs e) c:\Documents ve Settings\user\Desktop\WebEvents\WebSite3\WebSite3\e-mailTemplateTest.aspx.cs:17
System.Web.Util.CalliHelper.EventArgFunctionCaller (IntPtr FP, nesne o, nesne t, EventArgs e) +13
System.Web.Util.CalliEventHandlerDelegateProxy.Callback (Object sender, EventArgs e) +45
System.Web.UI.Control.OnLoad (EventArgs e) +80
SystemWeb.UI.Control.LoadRecursive() + 49
System.Web.UI.Page.ProcessRequestMain (Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3749

[HttpUnhandledException (0x80004005): özel durum türü 'System.Web.HttpUnhandledException' oldu durum.]
System.Web.UI.Page.HandleError (özel durum 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 içerik) +80
System.Web.HttpServerUtility.ExecuteInternal (IHttpHandler işleyicisi TextWriter yazan, Boolean preserveForm SanalYol yol VirtualPath filePath, dize physPath, özel durum hatası, String queryStringOverride) +1012

[HttpException (0x80004005): hata yürütme için bir alt istek / E/WebSite3-mailTemplateTest.aspx.]
System.Web.HttpServerUtility.ExecuteInternal (IHttpHandler işleyici, TextWriter yazan, Boolean preserveForm, SanalYol yol VirtualPath filePath, dize physPath, özel durum hatası, String queryStringOverride) +1525
System.Web.HttpServerUtility.Execute (dize yolu, TextWriter Yazan Boolean preserveForm) +754
System.Web.HttpServerUtility.ExecuteLocalRequestAndCaptureResponse (dize yol, TextWriter yazan, ErrorFormatterGenerator errorFormatterGenerator) +249</httpModules></system.web></configuration></httpModules></system.web></configuration>
Öznitelik false olur ve bir hata varsa, yalnızca olacaktır. şöyle bir genel hata iletisini alırsınız:
Sunucu Hata ' / WebSite3' uygulama.

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

Açıklama: Geçerli yapılandırmayı önler. Bu iletideki gelen özel durum Ayrıntıları'nı tıklatın. Ekle "detailedTemplateErrors = true" özniteliği etkinleştirmek için sağlayıcı yapılandırması Özel Durum ayrıntıları'bildirilecek.
Not Her temizlemedeki sonuçlanır arabelleğe alma ile ilgili öznitelikleri için bir bildirim. Temizleme maxEventsPerMessage izin verdiğinden daha fazla olayları içeriyorsa, bildirim birden çok e-postalar ayrılmış olarak gösterilir, ancak bunlar tüm yine aynı bildirim olarak kabul edilir. Örneğin, bir Flush 13 olaylar oluşturur, ancak maxEventsPerMessage yalnızca beş verir. Üç e-postalar alırsınız: ilk iki e-postalar her beş olayları içerir ve üçüncü e-posta üç içerecektir olaylar.

MaxMessagesPerNotification izin verdiğinden daha fazla e-postalar varsa, bazı olaylar bırakılır. Örneğin, ayarladığınız yalnızca iki e-postaları almak, iki ve maxMessagesPerNotification aynı maxEventsPerMessage yukarıdaki kullanın. Olaylar, olacaktır üzerinde üçüncü e-posta bırakılır. Herhangi bir düşme veya kesilmesi bildirim e-postaları biri için basit posta sağlayıcısı gösterilecektir. E-posta üst aşağıdaki gösterir:
** Uyarı **
---------------
Bunun için kalan 10 olayları çünkü bildirim süresi atılacak ileti en fazla sayısı başına izin verilen bildirim sayısı aşıldı. (Uyarı Kimliği: 101)
Sonra şablonlu sağlayıcısı için e-posta biçimi denetiminiz, olması Kendinizi düşme/kesme denetleyip, dahil edilip edilmeyeceğini belirlemek için e-posta.

Not Böylece yapılandırmak zorunda System.Net.Mail, posta sağlayıcısı kullanın System.Net.Mail, Web.config dosyasında.

Daha fazla bilgi için ASP.NET Ayarlar Şeması hakkında bilgi için aşağıdaki Microsoft Web ziyaret edin Site:
healthMonitoring Ögesi (ASP.NET Ayarlar Şeması)
http://msdn2.microsoft.com/library/2fwh2ss9(en-us,vs.80).aspx
ASP.NET 2. 0'sağlık izleme hakkında daha fazla bilgi için ziyaret edin aşağıdaki Microsoft Web sitesi:
ASP.NET 2. 0'sağlık izleme nasıl kullanılır
http://msdn2.microsoft.com/en-us/library/ms998306.aspx
Her zaman, havaya istediğiniz fikirleri konular üzerinde göndermek ücretsiz gelecekteki sütunları olarak veya Knowledge Base kullanarak Bunun için sor Form.

Özellikler

Makale numarası: 893664 - Last Review: 20 Temmuz 2013 Cumartesi - Gözden geçirme: 4.0
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft ASP.NET 2.0
Anahtar Kelimeler: 
kbhowto kbasp kbmt KB893664 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, Microsoft Makine Çevirisi Düzenleme yazılımı tarafından tercüme edilmiş olup, yüksek olasılıkla profesyonel bir çevirmen yerine CTF teknolojisi kullanılarak, Microsoft Topluluğu tarafından düzenlenmiştir. Microsoft, Bilgi Bankamız içindeki tüm makaleleri kendi dilinizde okuyabilmeniz için size hem profesyonel çevirmenler tarafından tercüme edilen hem de makine tarafından tercüme edildikten sonra Topluluk tarafından kontrol edilen makaleler sunar. Bununla birlikte, makine tarafından tercüme edilen, hatta Topluluk tarafından kontrol edilen bir makale bile her zaman mükemmel dil kalitesinde olmayabilir. Makalede dilinizi konuşan yabancı birisinin yapabileceği türden sözcük, söz dizimi veya dilbilgisi hataları bulunabilir. Microsoft, içeriğin hatalı tercümesinin veya müşterilerimiz tarafından kullanımının doğurabileceği olası yanlış anlamalar, hatalar veya zararlardan sorumlu değildir. Öte yandan Microsoft, Makine Çevirisi Düzenleme işlemini geliştirmek amacıyla Makine Çevirisi Düzenleme yazılımını ve araçlarını sık sık güncelleştirmektedir.
Makalenin İngilizcesi aşağıdaki gibidir: 893664
Kullanı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.

Geri Bildirim Ver

 

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