قضايا الجلسة الشديدة ASP.NET
-
03-10-2019 - |
سؤال
لدي نوع من الوضع القبيح.
لدي برنامج كبير يستخدم جلسة لنقل البيانات من صفحة إلى أخرى في إنشاء نظام CRM في ASP.NET 3.5 C#
المشكلة هي أنه إذا كان لديك مثيلان في هذا البرنامج مفتوح في نفس المتصفح وتصفح نفس الصفحة ، فسيتم تجاوز الجلسات بالطبع.
كما يمكنك أن تتخيل ، هذه مشكلة كبيرة ومسؤولية كبيرة عن النظام.
ما هو الشيء الصحيح الذي يجب فعله هنا؟ أستخدم الكثير من Ajax ، وأحتاج إلى تمرير كائنات من صفحة إلى أخرى ، وبالتالي فإن معلمات URL ليست خيارًا هنا.
أي اقتراحات؟
المحلول
ما هو Web.Config SessionState الذي تم تكوينه؟ أعتقد أنه في موقفك ، يمكنك تقليل شدة مشكلتك من خلال تكوينها على النحو التالي:
<configuration>
<system.web>
<sessionState mode="InProc" cookieless="true" timeout="20"/>
OR
<sessionState cookieless="true" regenerateExpiredSessionId="true" timeout="20" />
</system.web>
</configuration>
لكن هذا الأخير سوف يقلل عناوين URL الخاصة بك. سوف ينتهي بك الأمر مع asp.net inserting ids في url url ، شيء مثل http://www.example.com/(S(lit3py55t21z5v55vlm25s55))/orderform.aspx
. المزيد عن ذلك هنا.