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.

SessionStateUtility.GetHttpSessionStateFromContext أسلوب

Visual Studio 2010

قم باسترداد بيانات جلسة عمل من سياق الحالي طلب.

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

public static IHttpSessionState GetHttpSessionStateFromContext(
	HttpContext context
)

المعلمات

context
النوع: System.Web.HttpContext
HttpContext منه إلى استرداد بيانات جلسة عمل.

القيمة المُرجعة

النوع: System.Web.SessionState.IHttpSessionState
IHttpSessionState مثيل تطبيق تعبئة بيانات جلسة عمل من الحالي طلب.

GetHttpSessionStateFromContext يمكن أن يستخدم الأسلوب وحدة نمطية لحالة جلسة عمل إلى استرداد بيانات جلسة عمل من الطلب الحالي. يحدث هذا أثناء ReleaseRequestStateالأحداث في النهاية طلب. يمكن ثم كتابة البيانات جلسة عمل التي تم إرجاعها إلى مخزن بيانات جلسة عمل. إذا كان قد تم مهجورة جلسة عمل، يمكن تمت إزالته بيانات جلسة عمل من مخزن بيانات و HttpContext، و Session_OnEndيمكن تنفيذ حدث.

ملاحظات للقائمين بالتنفيذ

يمكنك استخدام RemoveHttpSessionStateFromContextأسلوب إلى إزالة بيانات جلسة عمل من sإلىre الداخلية، و RaiseSessionEndأسلوب إلى رفع Session_OnEndحدث.

يوضح مثال التعليمة البرمجية التالية في معالج ل ReleaseRequestStateحدث في مخصص جلسة عمل-الولاية الوحدة النمطية. وحدة نمطية? باسترداد بيانات جلسة عمل من HttpContextلاستخدام الطلب الحالي GetHttpSessionStateFromContextأسلوب. هذا مثال للتعليمة البرمجية هي جزء من مثال أكبر متوفر لفئة SessionStateUtility.


//
// Event handler for HttpApplication.ReleaseRequestState
//

private void OnReleaseRequestState(object source, EventArgs args)
{
    HttpApplication app = (HttpApplication)source;
    HttpContext context = app.Context;
    string sessionID;

    // Read the session state from the context
    HttpSessionStateContainer stateProvider =
      (HttpSessionStateContainer)(SessionStateUtility.GetHttpSessionStateFromContext(context));

    // If Session.Abandon() was called, remove the session data from the local Hashtable
    // and execute the Session_OnEnd event from the Global.asax file.
    if (stateProvider.IsAbandoned)
    {
        try
        {
            pHashtableLock.AcquireWriterLock(Int32.MaxValue);

            sessionID = pSessionIDManager.GetSessionID(context);
            pSessionItems.Remove(sessionID);
        }
        finally
        {
            pHashtableLock.ReleaseWriterLock();
        }

        SessionStateUtility.RaiseSessionEnd(stateProvider, this, EventArgs.Empty);
    }

    SessionStateUtility.RemoveHttpSessionStateFromContext(context);
}


نظام التشغيل 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
إظهار: