أنت غير متصل حاليًا، وفي انتظار الإنترنت الخاص بك ليقوم بإعادة الاتصال

أحداث الويب في ASP.NET 2.0

هام: تمت ترجمة هذه المقالة باستخدام برامج مايكروسوفت للترجمة الآلية ومن المحتمل ان يتم تحريرها او تدقيقها بعد ذلك من خلال تكنولوجيا منصة مجموعات الترجمة(CTF) او من خلال مترجم بشري. تقدم لك شركة مايكروسوفت هذه المقالات المترجمة بشكل آلي او بالترجمة البشرية او بعد تحريرها وتدقيقها من قبل مجموعات الترجمة حتى تمكنكم من الوصول إلى جميع المقالات الموجودة في قواعد المعرفة لديها بلغات مختلفة. إلا أن المقالات المترجمة قد تحتوي على أخطاء في المفردات او بناء الجمل او النحو. وعليه، فإن شركة مايكروسوفت ليست مسؤولة عن اية أخطاء او عدم دقة في الترجمة او أية أضرار قد تحدث نتيجة أخطاء في ترجمة محتويات النص او استخدامه من قبل العملاء.

اضغط هنا لرابط المقالة باللغة الانجليزية893664
إخلاء مسؤولية من محتوى قديم في قاعدة المعارف
عن تقديم الدعم التقني لهاو لذلك تظهر هذه المقالة كما هي و لن يتم تحديثها Microsoft تمت كتابة هذه المقالة بخصوص منتجات توقفت
معلومات إصدار بيتا
تتناول هذه المقالة إصدار بيتا من Microsoft المنتج. يتم توفير المعلومات الموجودة في هذه المقالة يخضع تغيير دون إشعار.

لا يوجد دعم منتج رسمي تتوفر من Microsoft لمنتج بيتا هذا. لمزيد من المعلومات حول كيفية الحصول على الدعم لإصدار بيتا، راجع الوثائق المضمنة مع النسخة التجريبية ملفات المنتج أو الاختيار من موقع ويب حيث قمت بتنزيل الإصدار.
عمود الصوت دعم ASP.NET
لتخصيص هذا العمود إلى احتياجاتك، نحن ندعوك إلى إرسال الأفكار حول المواضيع التي تهمك والمشكلات التي تحتاج إلى مشاهدة الموجهة في المستقبل مقالات قاعدة المعارف والأعمدة "الصوتية دعم". يمكنك إرسال الأفكار والملاحظات الخاصة بك باستخدام السؤال عنه . يوجد أيضا ارتباط إلى النموذج في الجزء السفلي من هذا العمود.
مقدمة
مرحبا بك عمود الصوت دعم ASP.NET! يكون الاسم الخاص بي الأورمان جيري. لقد تم مع Microsoft أكثر من 5 سنوات، وقضيت معظم الخاصة بي وقت تركز على التقنيات ذات الصلة بالإنترنت مثل FrontPage والجديد تقنيات SharePoint. لقد قضيت العام الماضي في العمل مع ASP.NET مهندس الدعم.

هذا الشهر في عمود "الصوت دعم"، سوف لوصف ميزة "أحداث ويب" الجديدة المتوفرة في الإصدار القادم من ASP.NET 2.0.

ميزة "أحداث الويب" في ASP.NET 2.0

واحدة من الخدمات الجديدة الرئيسية المتوفرة في ASP.NET 2.0 هو ويب ميزة الأحداث المتوفرة من قبل نظام مراقبة الحماية. عن طريق تعديل ملف Web.config، يمكنك استخدام نظام مراقبة الحماية للسجل التي لم تتم معالجتها استثناءات والنماذج منتهية الصلاحية وتذاكر مصادقة أي بيانات أخرى تريد تسجيل في التطبيق الخاص بك. هذا العمود تبدأ استخدام ويب أحداث ميزة، وأيضا بتوفير أمثلة حول كيفية استخدام مختلف موفري في ASP.NET 2.0.

يتم إنجاز التسجيل عن طريق تحديد قاعدة الذي يقوم بربط الأحداث مع موفر. تعرف القاعدة نوع الأحداث التي يتم إرسالها إلى الموفر. الأحداث الأساسية التالية متوفرة لك لتسجيل الدخول:
ويباسيفينتفئة الحدث الأساسية لكافة الأحداث. يحتوي على مطلوب الخصائص لكافة الأحداث، مثل رمز الحدث، رمز تفاصيل الحدث، تاريخ ووقت تم رفع الحدث، الرقم التسلسلي، رسالة الحدث، و تفاصيل الحدث.
ويبماناجيمينتيفينتفئة الحدث الأساسية لإدارة الأحداث، مثل مدة بقاء التطبيق وطلب خطأ وأحداث التدقيق.
ويبهيرتبياتيفينتالحدث التي تم إنشاؤها من قبل التطبيق العادية الفواصل الزمنية لالتقاط معلومات حالة وقت التشغيل مفيدة.
ويبوديتيفينتالفئة الأساسية للأمان تدوين أحداث، التي تستخدم لوضع علامة على الشروط مثل فشل التخويل، وفشل في فك التشفير، إلخ.
ويبريكويستيفينتالفئة الأساسية لكافة الأحداث طلب إعلامية.
ويباسيروريفينتالفئة الأساسية لكافة الأحداث التي تشير إلى الخطأ الشروط.
أنواع موفرون تسمح لك لإرسال الإخراج الحدث لأدوات إدارة Windows عارض، SQL Server، الحدث (WMI)، و البريد الإلكتروني. تقليل المقدار تعيينات أحداث وموفري معرفة مسبقاً العمل اللازمة للحصول على إخراج الحدث تسجيل.

يستخدم ASP.NET 2.0 الحدث تسجيل موفر--المضمنة لتسجيل أحداث استناداً إلى مجالات التطبيق بدء تشغيل وإيقاف، فضلا عن تسجيل أي الاستثناءات غير المعالجة. وهذا يساعد على تغطية بعض السيناريوهات الأساسية. على سبيل المثال، لنفترض أن التطبيق الخاص بك يلقي أحد الاستثناءات، ولكن المستخدم لا يحفظ الخطأ ولا يمكنك إعادة إنتاجه. مع قاعدة سجل الأحداث الافتراضية، قد تتمكن من جمع معلومات الاستثناء والمكدس للحصول على فكرة أفضل عن ما هو نوع الخطأ حدث. أو، إذا كان التطبيق الخاص بك يتم فقدان حالة جلسة العمل، يمكنك البحث في سجل الأحداث لتحديد ما إذا كان يتم إعادة تدوير مجال التطبيق، والسبب إيقاف تشغيل مجال التطبيق في المقام الأول.

أيضا، صحة نظام مراقبة قابلة للتوسعة. على سبيل المثال، يمكنك تعريف أحداث ويب مخصصة، إطلاقها داخل التطبيق الخاص بك، ثم قم بتعريف قاعدة لإرسال الحدث مزيد من المعلومات إلى موفر مثل البريد الإلكتروني الخاص بك. يسمح لك هذا بسهولة ربط الأجهزة الخاصة بك لموفري مراقبة الحماية. كما في المثال آخر يمكن أن إطلاق حدث في كل مرة يتم معالجة كل طلب وإعداد قاعدة التي يرسل كل حدث إلى قاعدة بيانات SQL Server. ويمكن أيضا إطلاق حدث عند فشل مستخدم في تسجيل الدخول عدة مرات في صف، وإعداد الحدث لاستخدامها موفري المستند إلى البريد الإلكتروني.

تكوين موفري الافتراضي ويتم حفظ الأحداث في ملف Web.config العمومية. ملف Web.config العمومية يقوم بتخزين كافة المستندة إلى ويب الإعدادات التي تم تخزينها في ملف Machine.config في ASP.NET 1 x. يتم وضع الملف Web.config العمومية في ما يلي الدليل:
%windir%\Microsoft.Net\Framework\v2.0.*\config\Web.config
الجزء <healthMonitoring>من ملف Web.config العمومية يوفر إعدادات التكوين الافتراضية. يمكنك تجاوز هذه الإعدادات أو تكوين الإعدادات الخاصة بك عن طريق تطبيق <healthMonitoring> مقطع في ملف Web.config للتطبيق الخاص بك.

علامة يحتوي على مقطع <healthMonitoring>من ملف Web.config العمومية العناصر التالية: </healthMonitoring></healthMonitoring></healthMonitoring>
  • موفري تحتوي على موفري لعارض الأحداث و WMI و SQL ملقم.
  • eventMappings تحتوي تعيينات لمختلف فئات ويباسي. يمكنك توسيع هذه القائمة إذا قمت بتوليد فئة الأحداث الخاصة بك. إنشاء فئة الأحداث الخاصة بك يوفر لك أدق التفاصيل عبر موفري إرسال معلومات إلى. من أجل على سبيل المثال، يمكن تكوين الاستثناءات غير المعالجة ليتم إرسالها إلى SQL Server، أثناء إرسال الأحداث المخصصة الخاصة بك إلى البريد الإلكتروني.
  • قواعد ارتباطات eventMappings للموفر.
  • التخزين المؤقت استخدام موفري SQL Server والبريد الإلكتروني لتحديد عدد مرات لمسح الأحداث للموفر.
فيما يلي مثال التعليمات برمجية من ملف 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>

نموذج الموفر

يحتوي هذا النموذج موفر على الملفات التالية:
  • ViewEvents.aspx الملف -يقوم بتشغيل الحدث ويب مخصصة مييفينت في حدث Page_Load وزر "تسجيل الحدث" click . وقد عرض الشبكة تستخدم اتصال قاعدة البيانات في ملف Web.config لسرد الأحداث تسجيل إلى SQL Server.

    تأكد من تكوين سلسلة _ الاتصال في ملف Web.config للإشارة إلى قاعدة البيانات ASPNETDB .
  • يحتوي ملف Web.config – مختلف موفري وتكوين قواعد و التعليق. قم بإلغاء تحديد القاعدة التي تريد اختبار، ثم استعرض الصفحات Default.aspx و ViewEvent.aspx لمعرفة ما يبدو الإخراج مثل.
  • ملف MyEvent.cs – موجود في مجلد App_Data. يتم استخدام هذا الصفحة ViewEvents.aspx لإطلاق حدث مخصص.
  • صفحة default.aspx -يطرح System.NullReferenceException لترى ما هي معالج سجلات الاستثناء.
  • ملف EmailTemplateTest.aspx -المستخدم لهذا النموذج تيمبلاتيميلبروفيدير. التعليمات البرمجية-خلف الملف قم بإلغاء للملف EmailTemplateTest.aspx يحتوي على سطور التعليمات البرمجية التي يمكن التعريف، الذي يؤدي الصفحة ليقوم بطرح استثناء.

كيفية تخزين الأحداث إلى "عارض الأحداث"

كما سبق، الموفر لتسجيل الأحداث في عارض الأحداث هو تكوين في ملف Web.config العمومية. بشكل افتراضي، يتم تسجيل كافة الأحداث التي تستند إلى ويباسيروريفينت و ويبفايلوريوديتفينت . يمكنك إضافة قواعد إضافية لسجل إضافية مزيد من المعلومات في سجل الأحداث. على سبيل المثال، إذا كنت تريد تسجيل كافة الأحداث (أي، كل حدث بناء على ويباسيفينت)، يمكنك إضافة القاعدة التالية إلى ملف Web.config:
<healthMonitoring>	<rules>		<add name="All Events" eventName="All Events" provider="EventLogProvider" profile="Critical"  />	</rules></healthMonitoring>
هذه القاعدة يربط مخطط الحدث كافة الأحداث إلى موفر سجل الأحداث. كلا افينتمابينج و يتم تضمين موفر في ملف Web.config العمومية. ثم يمكنك استخدام الصفحة ViewEvents.aspx لتحريك الأحداث التي تم إنشاؤها عن طريق استعراض الصفحة. علامة سيتم أيضا إطلاق صفحة الحدث المخصص مييفينت في حدث Page_Load وانقر فوق الزر .

لمشاهدة نوع البيانات التي تم إنشاؤها، استعرض للوصول الصفحة Default.aspx. هذا سيتم طرح استثناء System.NullReferenceException ، وسيتم تسجيل الحدث التالي في الحدث عارض:

نوع الحدث: تحذير
مصدر الحدث: ASP.NET 2.0.50601.0
فئة الحدث: حدث ويب
معرف الحدث: 1311
التاريخ: 8/16/2005
الوقت: 9:37:44 م
المستخدم: n/A
جهاز الكمبيوتر: اسم الكمبيوتر
الوصف:
رمز الحدث: 3005
رسالة الحدث: حدث استثناء غير معالج.
وقت الحدث: 8/16/2005 9:37:44 م
وقت الحدث (UTC): 8/17/2005 2:37:44 ص
معرف الحدث: 88838b4e73cf4a0d9a36ac737ff9d1a0
تسلسل الحدث: 39
تكرار الحدث: 1
رمز تفاصيل الحدث: 0
معلومات التطبيق: مجال التطبيق: d047d537-2-127687190240098660
مستوى الثقة: الكامل
التطبيق الظاهري المسار:/WebSite3
مسار التطبيق: فعلية مسار
اسم الجهاز: الكمبيوتر اسم
معالجة معلومات: معرف العملية: 3776
اسم العملية: WebDev.WebServer.EXE
اسم الحساب: المجال \ المستخدم
معلومات الاستثناء: نوع الاستثناء: نولريفيرينسيكسسيبشن
رسالة الاستثناء: كائن مرجع لم يتم تعيين إلى مثيل لكائن.
طلب معلومات: طلب عنوان URL: http://localhost:1698/WebSite3/Default.aspx
مسار الطلب: /WebSite3/Default.aspx
عنوان مضيف المستخدم: 127.0.0.1
المستخدم: المجال/المستخدم
مصادقة: صحيح
نوع المصادقة: NTLM
مؤشر الترابط اسم الحساب: المجال \ المستخدم
معلومات مؤشر الترابط:
معرف مؤشر الترابط: 8
مؤشر الترابط اسم الحساب: المجال \ المستخدم
انتحال: خطأ

تتبع بنية تخزين العناصر: في _Default.Page_Load (الكائن المرسل، EventArgs e) في c:\Documents و Settings\user\Desktop\WebEvents\WebSite3\WebSite3\Default.aspx.cs:line 15
في System.Web.Util.CalliHelper.EventArgFunctionCaller (IntPtr fp، الكائن أ، كائن t, EventArgs e)
في System.Web.Util.CalliEventHandlerDelegateProxy.Callback (الكائن المرسل، EventArgs e)
في System.Web.UI.Control.OnLoad (EventArgs e) في System.Web.UI.Control.LoadRecursive()
في System.Web.UI.Page.ProcessRequestMain (إينكلوديستاجيسبيفوريسينكبوينت منطقية، إينكلوديستاجيسافتيراسينكبوينت منطقية)

تفاصيل الحدث المخصص: لمزيد من المعلومات الحصول على المعلومات، راجع مركز التعليمات والدعم في http://support.microsoft.com.

تسجيل كافة الأحداث إلى سجل الأحداث ينشئ الأحداث المعلوماتية أيضا. يظهر الحدث التالي عنوان URL إذن النجاح لطلب الصفحة:

الحدث النوع: معلومات
مصدر الحدث: ASP.NET 2.0.50601.0
فئة الحدث: ويب الحدث
معرف الحدث: 1314
التاريخ: 8/16/2005
الوقت: 11:04:44 م
المستخدم: N/A
جهاز الكمبيوتر: الكمبيوتر اسم
الوصف:
رمز الحدث: 4003
رسالة الحدث: URL نجح التخويل للطلب.
وقت الحدث: 8/16/2005 11:04:44 بعد الظهر
وقت الحدث (UTC): 8/17/2005 4:04:44 ص
معرف الحدث: fec3d73fba0247eaba425e5ccfada18e
تسلسل الحدث: 2
تكرار الحدث: 1
رمز تفاصيل الحدث: 0
معلومات التطبيق:
مجال التطبيق: d047d537-1-127687250829701433
مستوى الثقة: الكامل
التطبيق الظاهري المسار:/WebSite3
مسار التطبيق: C:\Documents و Settings\user\Desktop\WebEvents\WebSite3\WebSite3\
اسم الجهاز: اسم الكمبيوتر
معلومات العملية:
عملية معرف: 2292
اسم العملية: WebDev.WebServer.EXE
اسم الحساب: المجال/المستخدم
طلب معلومات:
طلب عنوان URL: http://localhost:2087/WebSite3/Default.aspx
مسار الطلب: /WebSite3/Default.aspx
عنوان مضيف المستخدم: 127.0.0.1
المستخدم: المجال/المستخدم
مصادقة: صحيح
نوع المصادقة: NTLM
مؤشر الترابط اسم الحساب: المجال \ المستخدم

تفاصيل الحدث المخصص:
لمزيد من المعلومات الحصول على المعلومات، راجع مركز التعليمات والدعم في http://support.microsoft.com.

كيفية تخزين الأحداث إلى SQL Server

يستخدم هذا الأسلوب قاعدة ASPNETDB ، التي تم إنشاؤها بواسطة أداة Aspnet_regsql.exe. علامة يستخدم الموفر الافتراضي في سلسلة الاتصال لوكالسقلسيرفير، الذي يستخدم أما قاعدة البيانات إلى ملف في مجلد App_data أو مثيل SQLExpress محلي SQL Server. كلا من سلسلة الاتصال لوكالسقلسيرفير سقلبروفيدير تكوين في ملف Web.config العمومية.

لوكالسقلسيرفير تظهر سلسلة الاتصال في ملف Web.config العمومية كما يلي:
<connectionStrings>	<add name="LocalSqlServer" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" /></connectionStrings>
إذا كنت تريد استخدام ملقم SQL Server آخر، سوف تحتاج إلى استخدام أداة Aspnet_regsql.exe، والذي يمكن العثور على مجلد %windir%\Microsoft.Net\Framework\v2.0.*\Aspnet_regsql.exe. استخدام أداة Aspnet_regsql.exe لإنشاء قاعدة بيانات مخصصة ASPNETDB على ملقم SQL server، قم بإضافة سلسلة الاتصال .config التطبيقات الخاصة بك إلى ملف، ثم قم بإضافة موفر باستخدام الجديد سلسلة الاتصال. حالما يتم إنشاء قاعدة البيانات ASPNETDB ، ستحتاج إلى تعيين قاعدة لربط افينتمابينج سقلبروفيدير.

لتكوين قاعدة بيانات مخصصة، اتبع الخطوات التالية:
  1. إنشاء قاعدة بيانات ASPNETDB .
    1. تشغيل aspnet_regsql.exe –W، وتقود معالج.
    2. قم بتشغيل الأمر لأتمتة العملية: Aspnet_regsql ألف – S w خادم SQL -E.
  2. إضافة سلسلة اتصال الذي يشير إلى قاعدة البيانات، لذا أنه يبدو مثل هذا:
    <connectionStrings>	<add name="MYASPNETDB" connectionString="Server=<SQL Instance>;Integrated Security=SSPI;Database=aspnetdb"/></connectionStrings>
  3. إضافة موفر استخدام سلسلة الاتصال مياسبنيتدب، لذا أنه يبدو مثل هذا:
    <healthMonitoring>	<providers>		<add name="MySqlWebEventProvider" type="System.Web.Management.SqlWebEventProvider" connectionStringName="MYASPNETDB" maxEventDetailsLength="1073741823" buffer="false"/>	</providers></healthMonitoring>
استخدم الإعداد الافتراضي سقلبروفيدير أو تكوين الخاصة بك موفر، سوف تحتاج إلى إضافة قاعدة ربط الموفر مع مخطط حدث. علامة يربط القاعدة التالية الموفر الجديد الذي قمت بإنشائه أعلاه إلى مخطط الحدث كافة الأحداث . سيتم تسجيل كافة الأحداث استناداً إلى ويباسيفينت هذه القاعدة وإرسالها إلى ميسقلويبيفينتبروفيدير الذي سيستخدم سلسلة الاتصال مياسبنيتدب. تعمل التعليمة البرمجية التالية إضافة قاعدة لربط الموفر مع مخطط حدث:
<healthMonitoring>	<rules>		<add name="All Events" eventName="All Events" provider="MySqlWebEventProvider" profile="Critical"/>	</rules></healthMonitoring>
إذا كنت تريد فقط إرسال الأخطاء إلى SQL Server، يمكنك إضافة القاعدة التالية:
<add name="All Errors" eventName="All Errors" provider="MySqlWebEventProvider" profile="Critical"/>

كيفية إعادة توجيه الأحداث إلى WMI

يمكنك أيضا إعادة توجيه الأحداث إلى WMI. موفر WMI تكوين في ملف Web.config العمومية بشكل افتراضي.

علامة مثال التعليمة البرمجية التالية إضافة قاعدة لإعادة توجيه الأحداث إلى WMI:
<providers>	<add name="WmiWebEventProvider" type="System.Web.Management.WmiWebEventProvider,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" /></providers>
سوف تحتاج إلى إضافة قاعدة لربط افينتمابينج موفر، وأيضا تطبيق وحدة إصغاء WMI للاستماع للأحداث. علامة مثال التعليمة البرمجية التالية إضافة قاعدة لربط موفر WMI إلى مخطط الحدث كافة الأحداث :
<rules>	<add name="All Events" eventName="All Events" provider="WmiWebEventProvider" profile="Critical"  /></rules>
يستخدم نموذج تطبيق وحدة التحكم سامبليسبنيت الكائن ماناجيمينتيفينتواتشير لمراقبة الأحداث وعرضها في وحدة التحكم إطار.
لاستخدام سامبليسبنيت، اتبع الخطوات التالية:
  1. قم بتشغيل SampleASPNET.exe.
  2. استعراض الصفحة ViewEvents.aspx; عند تنفيذ ذلك، سوف ترى الأحداث المسرودة في تطبيق وحدة التحكم.
  3. انقر فوق تسجيل الحدث Button_Click. الصفحة سيتم إعادة النشر، وسترى أيضا تسجيل أحداث إضافية.
ملاحظة إذا كنت تراقب الأحداث على كمبيوتر بعيد، الاستماع يحتاج التطبيق قيد التشغيل على هذا الكمبيوتر كحساب المسؤول الوصول.

كيفية إعادة توجيه الأحداث إلى البريد الإلكتروني

يمكنك أيضا إعادة توجيه الأحداث إلى البريد الإلكتروني. يسمح لك للحصول على هذا معلومات حول التطبيق الخاص بك مباشرة في الخاص بك (ربما تؤدي) علبة الوارد. كن حريصا على قواعد الحدث الذي تقوم بتعيين إلى موفر البريد الإلكتروني، دون قصد إرسال نفسك كثير من المعلومات التي قد تكون أفضل مناسبة لخادم SQL أو سجل الأحداث.

هناك اثنين من البريد الإلكتروني موفري، سيمبليمايلويبيفينتبروفيدير وتيمبلاتيدمايلويبيفينتبروفيدير. كل نفس سمات التكوين، باستثناء "قالب" و سمات "ديتايليدتيمبلاتيرورس"، التي تتوفر فقط على تيمبلاتيدمايلويبيفينتبروفيدير.

ملاحظة يتم تكوين أي من هذه موفري البريد الإلكتروني لك. فسوف تحتاج إلى إضافتها إلى ملف Web.config الخاص بك.

الاختلاف الرئيسي بين هذه موفري البريد الإلكتروني اثنين أن سيمبليمايلويبيفينتبروفيدير بإرسال رسائل البريد الإلكتروني قالب عام يمكن تعديلها. إضافة ملف Web.config عينة موفر البريد الإلكتروني هذا إلى قائمة موفرات تم تكوينها باستخدام الأمر التالي القاعدة:
<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"/>
تتم أيضا إضافة القاعدة التالية لربط موفر البريد الإلكتروني إلى مخطط الحدث كافة الأحداث :
<add name="All Events" eventName="All Events" provider="mySimple-mailWebEventProvider" profile="Critical"/>
رسالة تنبيه البريد الإلكتروني مشابهة لما يلي:
الموضوع: إعلام الحدث 12، الجزء 1: ويب حدث EventsMicrosoft.Samples.WebEvents.MyEvent في /WebSite3

* * معلومات التطبيق **
---------------
مجال التطبيق: d047d537-9-127687218865923053 مستوى الثقة: "المسار الظاهري للتطبيق" الكامل: مسار التطبيق WebSite3: C:\Documents and Settings\user\Desktop\WebEvents\WebSite3\WebSite3\ الجهاز الاسم:<computer name="">

* * أحداث * *
---------------
الحدث التعليمات البرمجية: 100010
رسالة الحدث: Button1_Click
وقت الحدث: 8/16/2005 10:12:52 م
وقت الحدث (UTC): 8/17/2005 3:12:52 ص
معرف الحدث: تسلسل الأحداث 6e5cd252d6114a9e98687598dc6b5d50: 12 وقوع الحدث: حدث 5 التعليمات البرمجية بالتفصيل: 0

حدث مخصص التفاصيل:

---------------</computer>
التالي تنبيه بالبريد الإلكتروني رسالة تبين استثناء غير معالج:
الموضوع: إعلام الحدث 7، الجزء 1: ويب حدث EventsSystem.Web.Management.WebRequestErrorEvent في /WebSite3

* * معلومات التطبيق **
---------------
مجال التطبيق: d047d537-5-127687293149504903 مستوى الثقة: "المسار الظاهري للتطبيق" الكامل: مسار التطبيق WebSite3: C:\Documents and Settings\user\Desktop\WebEvents\WebSite3\WebSite3\ الجهاز الاسم:<computer name="">

* * أحداث * *
---------------
الحدث التعليمات البرمجية: 3005
رسالة الحدث: حدث استثناء غير معالج.
الحدث الوقت: 8/17/2005 12:17:37 ص
وقت الحدث (UTC): 8/17/2005 5:17:37 ص
معرف الحدث: تسلسل الأحداث 14b7f24102e140bbbae302d80e5a5f36: حدث 7 التكرار: رمز تفاصيل الحدث 1: 0

معلومات العملية:
عملية معرف: 2292
اسم العملية: WebDev.WebServer.EXE
اسم الحساب: المجال/المستخدم

معلومات الاستثناء:
نوع الاستثناء: System.NullReferenceException
رسالة الاستثناء: لم يتم تعيين مرجع كائن إلى مثيل لكائن.

طلب معلومات:
طلب عنوان URL: http://localhost:2087/WebSite3/Default.aspx
مسار الطلب: /WebSite3/Default.aspx
عنوان مضيف المستخدم: 127.0.0.1
المستخدم: المجال/المستخدم
مصادقة: صحيح
نوع المصادقة: NTLM
مؤشر الترابط اسم الحساب: المجال \ المستخدم

معلومات مؤشر الترابط:
معرف مؤشر الترابط: 7
مؤشر الترابط اسم الحساب: المجال \ المستخدم
انتحال: خطأ
مكدس الذاكرة المؤقتة تتبع: في _Default.Page_Load (الكائن المرسل، EventArgs e) في c:\Documents و Settings\user\Desktop\WebEvents\WebSite3\WebSite3\Default.aspx.cs:line 15
في System.Web.Util.CalliHelper.EventArgFunctionCaller (IntPtr fp، الكائن أ، كائن t, EventArgs e)
في System.Web.Util.CalliEventHandlerDelegateProxy.Callback (الكائن المرسل، EventArgs e)
في System.Web.UI.Control.OnLoad (EventArgs e) في System.Web.UI.Control.LoadRecursive()
في System.WebUI.Page.ProcessRequestMain (إينكلوديستاجيسبيفوريسينكبوينت منطقية، إينكلوديستاجيسافتيراسينكبوينت منطقية)</computer>
تيمبلاتيدمايلويبيفينتبروفيدير يسمح لك بتحديد صفحة ASPX كقالب--يمكنك تفكر فيه. علامة يستخدم في نص رسالة البريد الإلكتروني، مما يسمح لك بناتج الصفحة ASPX تخصيص مظهر البيانات التي تتلقاها.

نموذج التطبيق تستخدم التعليمة البرمجية التالية لإضافة تيمبلاتيدمايلويبيفينتبروفيدير إلى Web.config ملف وتعيين الصفحة EmailTemplateTest.aspx كالقالب. ( الصفحة EmailTemplateTest.aspx حلقات عبر الأحداث المتوفرة في المخزن المؤقت، ويقوم بعرضها في جدول.)
<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" />
رسالة تنبيه البريد الإلكتروني مشابهة لما يلي:
الموضوع: إعلام الحدث 3، الجزء 1:10 الأحداث الواردة في /WebSite3

تواجد مصدر وقت التفصيل التعليمات البرمجية رسالة رمز
4 System.Web.Security.UrlAuthorizationModule 8/17/2005 12:40:45 ص 4003 0 URL نجح التخويل للطلب.
4 8/17/2005 12:40:45 ص 4004 0 نجح تخويل الملف للطلب.
7 ASP.ViewEvents_aspx 8/17/2005 12:40:45 ص 100010 تحميل صفحة نموذج ويبيفينت 0
8 آسيا والمحيط الهادئ.ViewEvents_aspx 8/17/2005 12:40:45 ص 100010 0 Button1_Click
5 SystemWeb.Security.UrlAuthorizationModule 8/17/2005 12:40:45 ص 4003 0 URL نجح التخويل للطلب.
5 8/17/2005 12:40:45 ص 4004 0 نجح تخويل الملف للطلب.
9 ASP.ViewEvents_aspx 8/17/2005 12:40:45 ص 100010 تحميل صفحة نموذج ويبيفينت 0
10 آسيا والمحيط الهادئ.ViewEvents_aspx 8/17/2005 12:40:45 ص 100010 0 Button1_Click
6 System.Web.Security.UrlAuthorizationModule 8/17/2005 12:40:46 ص 4003 0 URL نجح التخويل للطلب.
6 8/17/2005 12:40:46 ص 4004 0 نجح تخويل الملف للطلب.
في كلتا الحالتين، إذا كان السمة المخزن المؤقت غير صحيح، سوف تحتوي رسالة البريد الإلكتروني على حدث واحد فقط. باستخدام التخزين المؤقت للتعيين إلى true، تحتاج أيضا إلى تحديد bufferMode، الذي يشير إلى عدد مرات مسح المخزن المؤقت. هناك بعض bufferModes الافتراضي في القائمة العمومية ملف Web.config.

إذا ديتايليدتيمبلاتيرورس = "true"، ثم أي أخطاء التي تحدث عندما تقوم بتنفيذ سيتم إرسال القالب في النص البريد الإلكتروني. إذا ديتايليدتيمبلاتيرورس = "false"، يتم إرسال خطأ عام.

A طرح بواسطة EmailTemplateTest.aspx خطأ مفصلة يبدو مثل هذا:
خطأ في الملقم في '/WebSite3' التطبيق.

لم تتم معالجته حدث استثناء أثناء تنفيذ صفحة القالب المستخدمة لإنشاء إعلام الحدث هذا. تم 1 أحداث تمثل جزء من هذه الرسالة تجاهل.

الوصف: حدث استثناء غير معالج أثناء تنفيذ طلب ويب الحالي. الرجاء مراجعة تتبع المكدس لمزيد من المعلومات مزيد من المعلومات حول الخطأ ومكان حدوثه في التعليمات البرمجية.

تفاصيل الاستثناء: System.Web.HttpException: يمكن حالة جلسة العمل يمكن استخدام فقط عندما يتم تعيين enablesessionstate ومن المقرر إلى true، أما في تكوين الملف أو في توجيه الصفحة. الرجاء التأكد أن يتم تضمين System.Web.SessionStateModule أو وحدة نمطية حالة جلسة عمل مخصص في <configuration>\<system.web>\ قسم<httpModules> في تكوين التطبيق.

الملف المصدر: c:\Documents و Settings\user\Desktop\WebEvents\WebSite3\WebSite3\e-mailTemplateTest.aspx.cs السطر: 17

تتبع مكدس الذاكرة المؤقتة: [HttpException (0x80004005): يمكن حالة جلسة العمل يمكن استخدام فقط عندما يتم تعيين enablesessionstate ومن المقرر إلى true، أما في تكوين الملف أو في توجيه الصفحة. الرجاء التأكد أن يتم تضمين System.Web.SessionStateModule أو وحدة نمطية حالة جلسة عمل مخصص في <configuration>\<system.web>\ قسم<httpModules> في تكوين التطبيق.]
System.Web.UI.Page.get_Session() +146
e-mailTemplateTest.Page_Load(Object sender, EventArgs e) في c:\Documents و Settings\user\Desktop\WebEvents\WebSite3\WebSite3\e-mailTemplateTest.aspx.cs:17
System.Web.Util.CalliHelper.EventArgFunctionCaller (IntPtr بادئة التنسيق fp، الكائن أ، كائن t, EventArgs e) + 13
System.Web.Util.CalliEventHandlerDelegateProxy.Callback (الكائن المرسل، EventArgs e) + 45
System.Web.UI.Control.OnLoad (EventArgs e) + 80
SystemWeb.UI.Control.LoadRecursive() + 49
System.Web.UI.Page.ProcessRequestMain (منطقية إينكلوديستاجيسبيفوريسينكبوينت، إينكلوديستاجيسافتيراسينكبوينت منطقية) +3749

[هتبونهاندليديكسسيبشن (0x80004005): استثناء من نوع تم 'System.Web.HttpUnhandledException' طرح].
System.Web.UI.Page.HandleError (استثناء e) +929
System.Web.UI.Page.ProcessRequestMain (منطقية إينكلوديستاجيسبيفوريسينكبوينت، إينكلوديستاجيسافتيراسينكبوينت منطقية) +7864
System.Web.UI.Page.ProcessRequest (منطقية إينكلوديستاجيسبيفوريسينكبوينت، إينكلوديستاجيسافتيراسينكبوينت منطقية) +229
System.Web.UI.Page.ProcessRequest() + 12
System.Web.UI.Page.ProcessRequest (HttpContext سياق) + 80
System.Web.HttpServerUtility.ExecuteInternal (معالج IHttpHandler، كاتب TextWriter، بريسيرفيفورم منطقية، المسار VirtualPath، VirtualPath filePath، سلسلة فيسباث، خطأ استثناء، سلسلة قويريسترينجوفيريدي) +1012

[HttpException (0x80004005): خطأ في تنفيذ الطلب التابع ل /WebSite3/e-mailTemplateTest.aspx.]
System.Web.HttpServerUtility.ExecuteInternal (IHttpHandler معالج، والكاتب TextWriter، بريسيرفيفورم منطقية، المسار VirtualPath، VirtualPath filePath، سلسلة فيسباث، خطأ استثناء، سلسلة قويريسترينجوفيريدي) +1525
System.Web.HttpServerUtility.Execute (سلسلة المسار، كاتب TextWriter، بريسيرفيفورم منطقية) +754
System.Web.HttpServerUtility.ExecuteLocalRequestAndCaptureResponse (سلسلة المسار، والكاتب TextWriter، اررورفورماتيرجينيراتور اررورفورماتيرجينيراتور) 249</httpModules></system.web></configuration></httpModules></system.web></configuration>
إذا كانت السمة غير صحيحة وهناك خطأ، الذي سيتم فقط الحصول على رسالة خطأ عامة، الذي يبدو كما يلي:
الخادم خطأ في '/WebSite3' التطبيق.

حدث استثناء غير معالج أثناء تنفيذ صفحة القالب المستخدمة لإنشاء هذا الحدث الإعلام. كانت 8 أحداث تمثل جزء من هذه الرسالة تجاهل.

الوصف: منع التكوين الحالي تفاصيل الاستثناء تضمين في هذه الرسالة. إضافة "ديتايليدتيمبلاتيرورس = true" السمة لتكوين الموفر لتمكين تفاصيل الاستثناء للإبلاغ عنها.
ملاحظة للسمات المتعلقة بالتخزين المؤقت، كل تدفق ينتج الإعلام. إذا كان يحتوي التدفق على الأحداث أكثر مما تسمح به ماكسيفينتسبيرميساجي ، سيتم تقسيم الإعلام يصل إلى رسائل بريد إلكتروني متعددة، ولكن أنها كافة تعتبر أن الإعلام نفسه. على سبيل المثال، إنشاء تدفق أحداث 13، ولكنه فقط يسمح ماكسيفينتسبيرميساجي خمسة. سوف تحصل على رسائل البريد الإلكتروني الثلاثة: الأول والثاني رسائل البريد الإلكتروني كل سيحتوي خمسة أحداث، والبريد الإلكتروني الثالث سيحتوي على ثلاثة الأحداث.

إذا كانت هناك رسائل البريد الإلكتروني أكثر مما تسمح به ماكسميساجيسبيرنوتيفيكيشن ، يتم إسقاط بعض الأحداث. على سبيل المثال، إذا قمت بتعيين ماكسميساجيسبيرنوتيفيكيشن ليومين ويمكنك استخدام نفس ماكسيفينتسبيرميساجي المذكورة أعلاه، ستتلقى فقط رسائل البريد الإلكتروني اثنين. الأحداث التي سيكون على الثالث يتم إسقاط البريد الإلكتروني. أي السقوط أو الاقتطاع من يلاحظ الإعلامات في إحدى رسائل البريد الإلكتروني لموفر بريد بسيط. سيتم إظهار الجزء العلوي من رسالة البريد الإلكتروني التالي:
** تحذيرات * *
---------------
المتبقي لهذه الأحداث 10 سيتم تجاهل فترة الإعلام لأن الحد الأقصى لعدد الرسائل يسمح لكل تجاوز الإعلام. (معرف التحذير: 101)
منذ التحكم في الشكل للبريد الإلكتروني لموفر templated، يكون لديك للبحث عن السقوط/الاقتطاع نفسك وتحديد ما إذا كان سيتم تضمين التي في البريد الإلكتروني.

ملاحظة استخدام موفري خدمات البريد System.Net.Mail، لذلك يجب عليك تكوين System.Net.Mail في الملف Web.config الخاص بك.

لمزيد من المعلومات معلومات عن مخطط إعدادات ASP.NET، قم بزيارة موقع ويب Microsoft التالية الموقع:
healthMonitoring العنصر (مخطط إعدادات ASP.NET)
http://msdn2.microsoft.com/library/2fwh2ss9(en-us,vs.80).aspx
لمزيد من المعلومات حول مراقبة السلامة في ASP.NET 2.0، قم بزيارة موقع ويب Microsoft التالية:
كيفية استخدام مراقبة الصحة في ASP.NET 2.0
http://msdn2.microsoft.com/en-us/library/ms998306.aspx
أنه دائماً، إرسال لا تتردد في إرسال أفكار حول المواضيع التي تريدها في المستقبل أعمدة أو في قاعدة المعارف باستخدام السؤال عنه .

تحذير: تمت ترجمة هذه المقالة تلقائيًا

خصائص

رقم الموضوع: 893664 - آخر مراجعة: 07/20/2013 06:44:00 - المراجعة: 4.0

Microsoft ASP.NET 2.0

  • kbhowto kbasp kbmt KB893664 KbMtar
تعليقات
&t=">ipt" async=""> var varAutoFirePV = 1; var varClickTracking = 1; var varCustomerTracking = 1; var Route = "76500"; var Ctrl = ""; document.write(" >/html>amp;t=">