سؤال

ونحن نحاول الحصول على حالة جلسة العمل باستخدام سطر الملف web.config التالية:

<sessionState 
    mode="SQLServer" 
    stateConnectionString="tcpip=127.0.0.1:42424" 
    sqlConnectionString="Data Source=dbServer;User ID=stateUser;Password='thepassword'" 
    cookieless="false" 
    timeout="20"/>

في dbServer، قمنا بتشغيل الأمر التالي لإعداد ديسيبل ASPState:

aspnet_regsql.exe -S localhost-E -ssadd -sstype p

في خادم الويب، بدأنا في خدمة الدولة ASP.Net، ومع ذلك، تظهر أية سجلات حتى في الجداول ASPStateTempApplications أو ASPStateTempSessions، ويبدو الى حد كبير مثل لا يزال يجري تخزين جلسة في العملية.

ما هو الخطأ؟ يجب أن تكون خدمة الدولة التي تعمل على الخادم DB؟ هل الحصول على تثبيت مع IIS، لأنه لا يتوفر على هذا الجهاز، على الرغم من صافي 3.5.1 تثبيت.

وسجلات IIS تظهر أي تلميح من الفشل. ما هو الخطأ؟

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

المحلول

أولا، لا تحتاج إلى بدء تشغيل خدمة الدولة من أجل استخدام حالة جلسة العمل SQL خادم. نسيان خدمة الدولة ASP.NET.

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

نصائح أخرى

وإذا كان هناك حقا يقتبس حول كلمة المرور، في محاولة لإزالتها:

sqlConnectionString="Data Source=dbServer;User ID=stateUser;Password=thepassword"

وإزالة السطر التالي، فإنه لا يوجد لديه وظيفة لتخزين جلسة SQL:

stateConnectionString="tcpip=127.0.0.1:42424" 

وقد توقف كذلك خدمة الدولة. الحاجة إليه لحالة جلسة العمل خارج عملية، وليس لحالة جلسة العمل SQL خادم.

وأيضا، حالة جلسة العمل SQL خادم يتطلب منك تشغيل InstallSqlState.sql على قاعدة البيانات، وليس aspnet_regsql.exe. يجب أن إنشاء قاعدة بيانات ASPState جديدة.

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

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