This article was translated by machine. To view in the article in English, select the English check box. You can also display the English text in a popup window by moving the mouse pointer over the text.
الترجمة
الأصلي
This documentation is archived and is not being maintained.

HttpApplication الفئة

Visual Studio 2010

قم بتعريف الأساليب والخصائص والأحداث الشائعة إلى كافة الكائنات التطبيق في تطبيق ASP.NET. هذه الفئة هي فئة أساسية للتطبيقات التي تم تعريفها من قبل مستخدم في Global.asax ملف.

مساحة الاسم:  System.Web
التجميع:  System.Web (في System.Web.dll)

public class HttpApplication : IHttpAsyncHandler, 
	IHttpHandler, IComponent, IDisposable

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

تشغيل تطبيق الأحداث التي يمكن أن تعالج مخصصة الوحدات النمطية التي تقوم بتنفيذ IHttpModuleواجهة أو بواسطة معالج الأحداث تعليمات برمجية التي تم تعريفها في الملف Global.asax. مخصص الوحدات النمطية التي تقوم بتنفيذ IHttpModuleواجهة يمكن وضع في المجلد App_Code أو في مكتبة الارتباط ديناميكي في مجلد حاوية.

HttpApplication هو المقدمة في الإصدار 3.5 من برنامج.NET Framework. لمزيد من المعلومات، راجع هندسة .NET Framework 3.5.

ملاحظةملاحظة

عند تشغيل IIS 7.0 في الوضع المتكاملة، تطبيق الوحدات النمطية cusإلىm في المجلد App_Code أو مجلد سلة إلى الجميع الطلبات في خط أنابيب للطلب. تطبيق رمز معالج حدث في ملف عمومي.asax فقط للطلبات التي تم تعيينها إلى معالج ASP.NET.

The تطبيق أحداث are مرفوع في the following ترتيب:

  1. BeginRequest

  2. AuthenticateRequest

  3. PostAuthenticateRequest

  4. AuthorizeRequest

  5. PostAuthorizeRequest

  6. ResolveRequestCache

  7. PostResolveRequestCache

    بعد the PostResolveRequestCache حدث و قبل the PostMapRequestHandler حدث, an معالج الأحداث (which هو a الصفحة that corresponds إلى the طلب URL) هو تاريخ الإنشاء. When a الخادم هو تشغيل IIS 7.0 في الوضع متكامل و على الأقل the .NET الإصدار إطار العمل 3.0, the MapRequestHandler حدث هو مرفوع. When a الخادم هو تشغيل IIS 7.0 في Classic الوضع أو an earlier الإصدار of IIS, this حدث cannot be handled.

  8. PostMapRequestHandler

  9. AcquireRequestState

  10. PostAcquireRequestState

  11. PreRequestHandlerExecute

    The معالج الأحداث هو executed.

  12. PostRequestHandlerExecute

  13. ReleaseRequestState

  14. PostReleaseRequestState

    بعد the PostReleaseRequestState حدث هو مرفوع, أي موجود استجابة filters will عامل تصفية the إخراج.

  15. UpdateRequestCache

  16. PostUpdateRequestCache

  17. LogRequest .

    This حدث هو supported في IIS 7.0 الوضع متكامل و على الأقل the .NET Framework 3.0

  18. PostLogRequest

    This حدث هو supported IIS 7.0 الوضع متكامل و على الأقل the .NET Framework 3.0

  19. EndRequest

The following الثاني أمثلة demonstrate how إلى استخدم the HttpApplication فئة و its أحداث. يوضح المثال أول كيفية إنشاء مخصص الوحدة النمطية لـ HTTP والاتصال حدث به. The ثانية مثال demonstrates how إلى تعديل the ويب.config ملف.

The following مثال demonstrates how إلى إنشاء a مخصص HTTP وحدة نمطية? و يعيّن the AcquireRequestState حدث إلى the HTTP وحدة نمطية?. يحتجز وحدات HTTP النمطية لكل طلب الموارد تطبيق ويب إلى، الأمر الذي يسمح لك إلى تصفية طلبات العملاء. أية وحدة نمطية HTTP اشترك إلى HttpApplicationيجب تنفيذ حدث IHttpModuleالواجهة.


using System;
using System.Web;

namespace Samples.AspNet.CS
{
    public class CustomHTTPModule : IHttpModule
    {
        public CustomHTTPModule()
        {
            // Class constructor.
        }

        // Classes that inherit IHttpModule 
        // must implement the Init and Dispose methods.
        public void Init(HttpApplication app)
        {

            app.AcquireRequestState += new EventHandler(app_AcquireRequestState);
			app.PostAcquireRequestState += new EventHandler(app_PostAcquireRequestState);
		}

        public void Dispose()
        {
            // Add code to clean up the
            // instance variables of a module.
        }

        // Define a custom AcquireRequestState event handler.
        public void app_AcquireRequestState(object o, EventArgs ea)
        {
            HttpApplication httpApp = (HttpApplication)o;
            HttpContext ctx = HttpContext.Current;
            ctx.Response.Write(" Executing AcquireRequestState ");
        }

        // Define a custom PostAcquireRequestState event handler.
		public void app_PostAcquireRequestState(object o, EventArgs ea)
		{
			HttpApplication httpApp = (HttpApplication)o;
			HttpContext ctx = HttpContext.Current;
			ctx.Response.Write(" Executing PostAcquireRequestState ");
		}

	}
}


قبل إمكانية إجراء حدث في الوحدة نمطية cusإلىm HTTP، يجب تعديل إعدادات تكوين في ملف ويب.config إلى إعلام ASP.NET حول الوحدة النمطية لـ HTTP. يلي مثال يعرض إعداد تكوين المناسب في httpModulesمقطع في ملف ويب.config. ما يلي إعداد يطبق على IIS 7.0 وضع لوحة التحكم والإصدارات السابقة من IIS.

<configuration>
  <system.web>
    <httpModules>
      <add type="Samples.AspNet.CS.CustomHTTPModule"
        name="CustomHttpModule" />
      </httpModules>
  </system.web>
</configuration>

يتم تطبيق إعداد التالي إلى الوضع IIS 7.0 المتكاملة.

<configuration>
  <system.webServer>
    <modules>
      <add type="Samples.AspNet.CS.CustomHTTPModule"
        name="CustomHttpModule" />
      </modules>
  </system.webServer>
</configuration>

يتم تأمين العملية الجزئية لأي عضو عمومي ثابت (مشترك في Visual Basic) من هذا النوع. لن يتم ضمان تأمين العملية الجزئية لأي عضو مثيل.

نظام التشغيل Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, الإصدار x64 من نظام التشغيل Windows XP Professional, Windows XP Starter Edition, Windows Server 2008, نظام التشغيل Windows Server 2003, نظام التشغيل Windows Server 2000 المزود بحزمة الخدمة SP4, نظام التشغيل Windows Millennium Edition, نظام التشغيل Windows 98

لا يدعم .NET Framework و .NET Compact Framework كافة الإصدارات الخاصة بكل نظام أساسي. للحصول على قائمة بالإصدارات المدعمة، راجع متطلبات النظام إطار عمل .NET.

.NET Framework

مدعوم في: 4, 3.5, 3.0, 2.0, 1.1, 1.0
إظهار: