"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية الوصول إلى متغيرات الجلسة خارج صفحة ASP.NET؟

كيفية الوصول إلى متغيرات الجلسة خارج صفحة ASP.NET؟

نشر في 2025-04-14
تصفح:838

الوصول إلى متغيرات جلسة ASP.NET من الصفحات الخارجية أو عناصر التحكم

How Can I Access ASP.NET Session Variables from Outside a Page or Control?

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

الطريقة 1: الاستفادة من system.web.httpcontext.current.session

توفر هذه الطريقة المباشرة وصول متغير الجلسة من أي فئة ، بما في ذلك تلك الموجودة في الدليل app_code الدليل:

int loginId = (int)System.Web.HttpContext.Current.Session["loginId"];

الطريقة 2: تنفيذ فئة غلاف جلسة مخصصة

للوصول إلى الجلسة المبسطة والأكثر قوة ، تقدم فئة التفاف المخصصة فوائد مهمة:

public class SessionManager
{
    public int LoginId
    {
        get { return (int)System.Web.HttpContext.Current.Session["loginId"]; }
        set { System.Web.HttpContext.Current.Session["loginId"] = value; }
    }
}

الوصول إلى متغير الجلسة يصبح:

SessionManager session = new SessionManager();
int loginId = session.LoginId;

يوفر هذا النهج:

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

اختر الطريقة التي تناسب احتياجات مشروعك وأسلوب الترميز. تفضل فئة الغلاف المخصص عمومًا للتطبيقات الأكبر بسبب قابلية الصيانة المعززة وسلامة النوع.

أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3