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

INFO: نظرة عامة معالجات HTTP و الوحدات النمطية HTTP ASP.NET

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

اضغط هنا لرابط المقالة باللغة الانجليزية307985
الموجز
توفر هذه المقالة مقدمة إلى HTTP ASP.NET الوحدات النمطية ومعالجات HTTP.

للحصول على نظرات عامة ASP.NET إضافية ، الرجوع إلى مقالة "قاعدة المعارف لـ Microsoft" التالية:
305140INFO: ASP.NET التخطيط
معلومات أخرى
الوحدات النمطية HTTP ومعالجات HTTP جزءًا لا يتجزأ من هندسة ASP.NET. بينما تتم الآن معالجة طلب, تتم معالجتها بواسطة الوحدات النمطية HTTP متعددة (على سبيل المثال، الوحدة النمطية للمصادقة و الوحدة النمطية جلسة العمل) كل طلب ومن ثم تتم معالجتها بواسطة معالج HTTP واحد. بعد عالجت المعالج الطلب ، يتدفق الطلب مرة أخرى خلال HTTP الوحدات النمطية.

يتم تقسيم هذه المقالة إلى المقاطع التالية:

تسمى الوحدات النمطية قبل وبعد تنفيذ معالج "". تمكين الوحدات النمطية للمطورين تعترض أو المشاركة في أو تعديل كل طلب فردي. الوحدات النمطية تطبيق واجهة IHttpModule الموجود في مساحة الاسم System.Web.

back to the top

يوفر دراسي HttpApplication عدد الأحداث التي يمكن مزامنة الوحدات النمطية. تتوفر الأحداث التالية الوحدات النمطية مزامنة مع كل طلب. يتم سرد هذه الأحداث بالترتيب التسلسلي:
  • BeginRequest: بدء طلب. إذا كنت بحاجة إلى قم بإجراء شيء ما في بداية الطلب (على سبيل المثال، عرض إعلان شعارات في أعلى كل صفحة) مزامنة هذا الحدث.
  • AuthenticateRequest: إذا كنت تريد توصيل نظام المصادقة المخصصة (على سبيل المثال، البحث عن مستخدم مقابل قاعدة بيانات التحقق من صحة كلمة مرور), إنشاء وحدة نمطية بمزامنة هذا الحدث يصادق على المستخدم الطريقة التي تريدها.
  • AuthorizeRequest: يتم استخدام هذا الحدث داخليًا لتنفيذ آليات التخويل (على سبيل المثال، لتخزين الخاص بك قوائم التحكم بالوصول (ACLs) في قاعدة بيانات بدلاً من نظام الملفات). على الرغم من أنه يمكن تجاوز هذا الحدث لا تكون هناك عدة أسباب جيدة للقيام بذلك.
  • ResolveRequestCache: يحدد هذا الحدث إذا تم تقديم صفحة من الإخراج ذاكرة التخزين المؤقت. إذا كنت تريد كتابة الوحدة النمطية التخزين المؤقت الخاصة بك (على سبيل المثال، ذاكرة التخزين المؤقت بناء المستندة إلى ملف بدلاً من ذاكرة التخزين مؤقت) مزامنة هذا الحدث لتحديد ما إذا كنت ترغب في أن يعمل الصفحة من ذاكرة التخزين المؤقت.
  • AcquireRequestState: استرداد حالة جلسة العمل من مخزن حالة. إذا كنت ترغب في إنشاء الخاصة بك الوحدة النمطية لإدارة حالة مزامنة هذا الحدث الحصول على حالة جلسة العمل من مخزن الحالة.
  • PreRequestHandlerExecute: إجراء هذا الحدث قبل تنفيذ معالج HTTP.
  • PostRequestHandlerExecute: إجراء هذا الحدث بعد تنفيذ معالج HTTP.
  • ReleaseRequestState: تخزين حالة جلسة العمل مرة أخرى في مخزن الحالة. إذا كان أنك تقوم بإنشاء وحدة نمطية حالة جلسة عمل مخصص يجب تخزين الولاية في مخزن الحالة مرة أخرى.
  • UpdateRequestCache: هذا الحدث يكتب الإخراج مرة أخرى إلى ذاكرة التخزين المؤقت إخراج. إذا كان أنك تقوم بإنشاء وحدة نمطية ذاكرة التخزين مؤقت مخصصة كتابة الإخراج مرة أخرى إلى ذاكرة التخزين المؤقت الخاصة بك.
  • EndRequest: تم إكمال الطلب. قد تحتاج إلى إنشاء نمطية تصحيح بتجميع المعلومات عبر الطلب ثم كتابة المعلومات إلى الصفحة.
تتوفر الأحداث التالية الوحدات النمطية للمزامنة مع لإرسال كل طلب. ترتيب هذه الأحداث غير محددًا.
  • PreSendRequestHeaders: إجراء هذا الحدث قبل إرسال الرؤوس. إذا أردت إضافة رؤوس إضافية يمكنك مزامنة هذا الحدث من وحدة نمطية مخصصة.
  • PreSendRequestContent: هذا الحدث عند استدعاء الأسلوب Response.Flush. إذا كنت ترغب في إضافة محتوى إضافية يمكنك مزامنة هذا الحدث من وحدة نمطية مخصصة.
  • خطأ: إجراء هذا الحدث عند حدوث استثناء غير معالج. إذا كنت تريد كتابة وحدة نمطية معالج خطأ مخصصة مزامنة هذا الحدث.
back to the top

معالج المقطع التكوين <httpmodules>مسؤولةً عن تكوين الوحدات النمطية HTTP داخل أحد تطبيقات. يمكن أن يتم تعريف في الكمبيوتر أو في موقع أو في مستوى التطبيق. استخدم بناء الجملة التالي لـ معالج المقطع <httpmodules>:
<httpModules>   <add type="[COM+ Class], [Assembly]" name="[ModuleName]" />   <remove type="[COM+ Class], [Assembly]" name="[ModuleName]" />   <clear /></httpModules>				
back to the top

لإنشاء إحدى وحدات HTTP نمطية يجب تطبيق واجهة IHttpModule. لقد واجهة IHttpModule طريقتين باستخدام التواقيع التالية:
void Init(HttpApplication);void Dispose();				
للحصول على معلومات إضافية حول إنشاء وحدات HTTP النمطية انقر فوق رقمي المقالتين التاليتين لعرضهما في "قاعدة المعارف لـ Microsoft:
308000HOW TO: إنشاء الوحدة النمطية HTTP ASP.NET باستخدام Visual Basic .NET
307996HOW TO: إنشاء الوحدة النمطية HTTP ASP.NET باستخدام Visual C# .NET
back to the top

يتم استخدام معالجات لمعالجة طلبات نقطة النهاية الفردية. تمكين معالجات إطار عمل ASP.NET لمعالجة HTTP URL الفردية أو مجموعات من ملحقات URL داخل أحد تطبيقات. بعكس النمطية تستخدم معالج واحد فقط معالجة طلب. تطبيق كافة معالجات واجهة IHttpHandler الموجود في مساحة الاسم System.Web. معالجات إلى حد ما لعامل بملقم إنترنت ملحقات واجهة برمجة التطبيقات (ISAPI).

back to the top

معالج المقطع التكوين <httphandlers>مسؤولةً عن تعيين URLs الواردة إلىفئة IHttpHandler أو IHttpHandlerFactory. يمكن أن يتم تعريف في الكمبيوتر أو في موقع أو في مستوى التطبيق. الدلائل الفرعية ترث هذه الإعدادات.

يستخدم المسؤولون توجيه العلامة <add>تكوين المقطع <httphandlers>. يتم تفسير توجيهات <add>ويتم معالجتها بالترتيب تسلسلي أعلى لأسفل. استخدم بناء الجملة التالي لـ معالج المقطع <httphandler>:
<httpHandlers>   <add verb="[verb list]" path="[path/wildcard]" type="[COM+ Class], [Assembly]" validate="[true/false]" />   <remove verb="[verb list]" path="[path/wildcard]" />   <clear /></httpHandlers>				
back to the top

لإنشاء معالج HTTP يجب تطبيق واجهة IHttpHandler. يتضمن واجهة IHttpHandler أسلوب واحد خاصية واحدة مع التواقيع التالية:
void ProcessRequest(HttpContext);bool IsReusable {get;}				
ملاحظة: إذا المطلوبة حالة جلسة العمل في معالج HTTP تحتاج أيضاً إلى يقوم بتطبيق واجهة IRequiresSessionState. للحصول على معلومات إضافية حول إنشاء معالجات HTTP انقر فوق رقمي المقالتين التاليتين لعرضهما في "قاعدة المعارف لـ Microsoft:
308001HOW TO: إنشاء معالج HTTP ASP.NET باستخدام Visual C# .NET
للحصول على معلومات إضافية، انقر فوق رقمي المقالتين التاليتين لعرضهما في "قاعدة المعارف لـ Microsoft:
307997HOW TO: إنشاء معالج HTTP ASP.NET باستخدام Visual Basic .NET
back to the top

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

خصائص

رقم الموضوع: 307985 - آخر مراجعة: 02/23/2007 05:28:23 - المراجعة: 3.5

Microsoft ASP.NET 1.1, Microsoft ASP.NET 1.0

  • kbmt kbarttyperoadmap kbhttphandlers kbhttpmodule kbhttpruntime kbinfo KB307985 KbMtar
تعليقات
>> /body>