سؤال

ولدي كائن أساس أمان مخصصة التي جعلتها في global.asax للموضوع الحالي وكل شيء على ما يرام، ولا توجد مشاكل عادة.

ولكن، أنا فقط إضافة ميزة صورة ديناميكية من خلال وجود صفحة تخدم حتى صورة وكلما تلك الصفحة صورة ديناميكية يتم تحميل System.Web.HttpContext.Current.Session فارغة في global.asax الذي يمنعني من وضع مدير الأمن عن المشاكل العادية والمتتالية من تلك اللحظة فصاعدا.

وعادة الدورة فارغة في global.asax مرة واحدة فقط خلال جلسة في البداية عندما يسجل المستخدم في، وبعد ذلك انها متاحة دائما مع هذا الاستثناء واحد.

الصفحة صورة ديناميكية يتم تحميل عندما يأتي المتصفح عبر المئوية الصورة في الصفحة الأصلية أي

وانا التخمين بأن هذا هو بعض جوانب حقيقة أن المتصفح يطلب تلك الصفحة دون إرسال بعض أوراق اعتماد معها؟

وأي مساعدة سيكون موضع تقدير كبير.

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

المحلول

وجون،

وأفترض أنك كنت تستخدم معالج ashx لمعالج. إذا كان الأمر كذلك، ومن المؤكد أن تستمد من IRequiresSessionState على سبيل المثال:

public class Images : IHttpHandler, System.Web.SessionState.IRequiresSessionState
{ }

إذا كنت لا تستخدم ashx يمكن أن تصف ما تعنيه الصفحة صورة ديناميكية؟

وجوش

نصائح أخرى

وفي Global.asax.cs Session_Start () وSession_End () تحتاج إلى استخدام "this.Session" !! والسبب في ذلك هو أن HttpContext لا تتوفر إلا عندما يكون هناك طلب قيد المعالجة. وهذا هو السبب كنت تحصل على NULL على HttpContext.Current.Session!

ومن موقع ويب Microsoft: "الفئة HttpContext: بتغليف جميع المعلومات HTTP محددة حول طلب HTTP الفردية"

ولكن لا تظن السوء ... أنا وقعت لهذا واحد أيضا! :)

الدورة

ولا علاقة لها يتم تسجيل أو لا شيء.

وماذا حدث هل تجاوز عندما أردت الدخول إلى الدورة؟ جلسة غير متوفرة حتى أطلق AcquireRequestState.

لمزيد من المعلومات، راجع: http://msdn.microsoft.com /en-us/library/9ysfzy8h.aspx

ونعم أنت على حق وهذا يحدث لأن الصراعات وجوه التبعية القوة في حالة أخرى موازية الصفحة نقل التي قد كسر جدار حماية بين جلسات

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