السلام عليكم
يا جماعة انا عامل مشروع مهم بالـASP.NET
وتهمني كثيرًا السرعة في هذا المشروع
فأيهما استخدم الـViewState ام الـ session ?
الحقوني يا جماعة :ohmy:
السلام عليكم
يا جماعة انا عامل مشروع مهم بالـASP.NET
وتهمني كثيرًا السرعة في هذا المشروع
فأيهما استخدم الـViewState ام الـ session ?
الحقوني يا جماعة :ohmy:
تم تعديل هذه المشاركة بواسطة AHMAD.R في 24 مارس 2010 في 16:09
وعليكم السلام ورحمة الله وبركاته ..
أخي الفاضل .. اختيارك لنوع الطريقة التي سوف تقوم بتخزين بياناتك لا يجب أن يكون بسبب سرعة أحدهما أو بطيء الأخر وإنما بالاستخدام. لكل طريقة استخدام وفائدة معينة قد لا تتحقق بالأخرى ومع هذا فهناك أيضاً بعض الاعتبارات بخصوص السرعة والكفاءة.
وإليك مقارنة سريعة بين أنوع حفظ البيانات في الـ ASP.NET أو ال State Management في المرفقات ولكن اعذرني لأنها بالإنجليزية ولكنها سهلة جداً ويمكنك سؤالي في أي شيء بخصوصها وهي منقولة من إحدى قراءاتي السابقة
مدونة ابنتي الرضيعة: يوميات رزان
مدونتي التقنية العربية: البرمجة مع عبد المنعم
Technical Blog: Abdul Moniem's Thoughts
LinkedIn: Profile
استخدام ViewState يشترط له عدد من الأمور منها:
1- المتغير الذي سيتم حفظه يجب أن يكون Serializable.
2- الحفظ يتم في ذات الصفحة فقط ... أي عند تحول المستخدم إلى صفحة أخرى يضيع المتغير.
3- الحفظ يتم بداخل الصفحة ... أي أنها داتا يتم إرسالها مع الصفحة إلى المستخدم وتعود مع Postback ... ولذا يجب الحذر ألا تتعدى ViewState مساحة كبيرة حتى يزيد الترافيك والتحميل بين السيرفر والمستخدم.
أما Session فهي تحفظ في الميموري على السيرفر ... ولذا هي أأمن وتقبل أي نوع من المتغيرات وتظل موجودة طالما أن المستخدم موجود في الموقع وعلى أي صفحة ... ولكن الإكثار منها أيضاً سيسبب حمل على السيرفر وتناقص مستمر للميموري المتاحة للمواقع الأخرى.
إذن الاختيار بين ViewState وSession ليس مرهون فقط بالأداء ... ولكن الظروف والوضع الذي إما نستخدم هذه أو تلك ... وتلك تأتي مع الخبرة
ASP.NET Team Leader
moh_kin_mah@hotmail.com
--------------------------------
لو أعجبك أي من مشاركاتي ... برجاء قم بتقييم المشاركة عبر الأزرار الموجودة أسفل يسار كل مشاركة
اولا شكرًا جزيلًا لك اخي أحمد عبد المنعم
واشكرك من كل قلبي أخي moh_kin
انا أعلم ان الـsession اكثر أمان من الـviewstate
وأعلم مكان تخزينهما
وبعد قراأتي لمشاركاتكم عرفت المزيد و المزيد بارك الله فيكم
ولكن هل يمكنني ان اسألكم سؤال بناءً على خبرتكم ؟
السؤال هو :
المشروع الذي اقوم بعملة
سيكون متوسط عدد المتواجدون عليه في نفس الوقت 10 متواجدون تقريبًا
وأيضًا سأيتخدم لكل زائر من 3 إلى 6 متغير
والآمان يهمني بنسبة 30% اما السرعة فتهمني بنسبة 95%
الآن ,, ايهما استخدم بحسب خبرتكم ؟
تم تعديل هذه المشاركة بواسطة AHMAD.R في 25 مارس 2010 في 09:52
إذا كانت هذه المتغيرات عليك حفظها للمستخدم في حالة وجوده في البرنامج إلى أن يخرج وفي حالة تنقله بين الصفحات وبعضها تريد الحفاظ على قيمة هذه المتغيرات .. فالـ Session هو اختيارك ..
أما في حالة أن هذه المتغيرات تهتم بها في صفحة معينة دون أخرى استخدم ViewState
ولكن على كلٍ .. الرقم الذي تتكلم عنه 10 .. ومن حوالي 3 لـ 6 متغيرات .. هذا رقم ضئيل جداً لا يجعلك تقلق من استخدام ال Session والتي هي أفضل في نظري .. ففي رأي قم باستخدام ال Session والله الموفق.
تم تعديل هذه المشاركة بواسطة أحمد عبد المنعم في 25 مارس 2010 في 10:12
مدونة ابنتي الرضيعة: يوميات رزان
مدونتي التقنية العربية: البرمجة مع عبد المنعم
Technical Blog: Abdul Moniem's Thoughts
LinkedIn: Profile
اشكرك بعنف شديد اخي أحمد :lol:
بارك الله فيك
إن شاء الله هحول كل متغيرات المشروع إلى session
لأني كنت عاملها viewstate
وانا عرفت انه لما اغير الخاصية enabledviwestate إلى false
بتزيد سرعة الموقع ........
على العموم اكرر شكري لك :)
وإذا كان هناك ردود اخرى من اخواني فأنا بالإنتظار :blink:
عندما يكون حجم المستخدمين صغيراً كهذا فلا أعتقد أنه سيكون هناك فرق كبير في الأداء. على كل حال التقنيتان تستخدمان طرقاً مختلفة للتخزين لذا لا توجد طريقة مباشرة لاختبار الأداء بسبب اختلاف أجهزة السيرفر، وإذا كنت تريد فعلاً معرفة السرعة فلابد من أن تقيسها بنفسك.