سؤال

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

في مكتبة فئة معلومات المستخدم، أريد التعامل مع تسجيل الدخول.لقد قمت بذلك من قبل في app_code الذي كان جزءًا من مشروع الويب باستخدام HttpContext.Current.Session.ولكن عندما أحاول استخدامه في مكتبة صفي (حتى أثناء ذلك). using System.Web) فإنه يلقي خطأ في الترجمة يفيد بأن HttpContext غير موجود في هذا السياق.كيف يمكنني الوصول إليه؟

هل كانت مفيدة؟

المحلول

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

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top