سؤال

لدينا موقع ASP كلاسيكي واسع النطاق، ونحن نتطلع إلى الترقية إلى ASP .NET (على الأرجح أحدث إصدار). من الواضح أن ترقية جميع الصفحات في وقت واحد ستكون مهمة ليفياثان، لذلك نحن نتطلع فقط إلى كتابة صفحات جديدة (وإعادة كتابة الصفحة) في ASP .NET في البداية.

هناك عقبات من القيام بذلك:

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

  2. سيتعين على جلسات ASP و ASP .NET مهلة في نفس الوقت، للحفاظ على اختلاف الإصدار سلس.

هل يمكن لأي شخص تقديم أي مساعدة، من فضلك؟

شكرا لك مقدما.

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

المحلول

واجهنا نفس المهمة (ليس متعة). نظرا لأن جلسة ASP.NET ودورة ASP لا يمكن مشاركتها، استخدمنا مجموعة من الطرق، كل مناسبة للوضع.

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

لذلك، في السيناريو الثاني، كان تدفق مثال قد تغير من:

يحاول المستخدم الوصول إلى بعض صفحة المحتوى المحمي -> إعادة توجيهها إلى صفحة تسجيل الدخول -> سجلات في -> تعيين معلومات الجلسة بناء على نجاح تسجيل الدخول -> إعادة توجيه مرة أخرى إلى صفحة المحتوى.

ل

يحاول المستخدم الوصول إلى بعض صفحة المحتوى المحمي -> إعادة توجيهها إلى صفحة تسجيل الدخول -> سجلات في -> تعيين معلومات الجلسة بناء على نجاح تسجيل الدخول -> إعادة توجيهها إلى صفحة .NENET، تمر بنجاح بيانات اعتماد تسجيل الدخول، وما إلى ذلك -> صفحة ASPX مجموعات جلسة المعلومات ثم إعادة توجيه مباشرة إلى صفحة المحتوى.

عرفنا أنه كان اختراقا، لكنه يعمل على المدى القصير حتى نتمكن من الحصول على جميع المواقع التي تم تحويلها.

نصائح أخرى

قد تكون هناك طريقة أفضل للقيام بذلك باستخدام إعدادات IIS الأحدث (يجب أن تعترف بعدم وجود ما يصل إلى تاريخ الأشياء الجيدة الجديدة IIS7 التي يمكن أن تفعلها). ولكن يمكنك القيام XmlRequest من صفحة تسجيل الدخول إلى ASP إلى صفحة ASP.NET. يمكنك إما أن تمر عبر الإعدادات التي تحتاجها في بيانات البريد أو لديك صفحة .NET Page Phase بيانات الجلسة نفسها إذا كان المنطق بسيطا بما فيه الكفاية. ستعود لك صفحة .NET معرف جلسة .NET في ملف تعريف الارتباط، تحتاج إلى تعيين هذا في مجموعة ملفات تعريف الارتباط لمستخدمي ASP بحيث يحتوي هذا المستخدم على ملف كوكي جلسة ASP الكلاسيكي والكلاسيكي.

هذا من شأنه أن يفعل ذلك.

قمت بتطبيق هذه منذ بضع سنوات باستخدام قاعدة بيانات.

مايكروسوفت لديها جميلة مادة جيدة على ذلك، على الرغم من أنه قديم قليلا في هذه المرحلة.

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