PDA

View Full Version : سوال: روش انتقال تعداد زياد فيلد بين صفحات



didaaa
جمعه 05 شهریور 1389, 20:53 عصر
دوستان سلام:
ببينيد من يه مشكل اساسي دارم خواهشا اساتيد كمك كنند راستش تو اين چند روز گذشته هرچي مطلب ميخونم نميتونم تصميم بگيرم كه كدوم روش انتخاب كنم مشكل من اين هستش كه ميخوام داخل برنامم حدود 50 فيلدو بين صفحات انتقال بعد در مرحله اخر (صفحه آخر) ثبتش كنم اين فيلدها به تدريج تو صفحات زياد ميشن يعني در صفحه اول 10 بعدي 10 و الي آخر...
تقريبا يه چيزي مثل سايت سنجش حالا موندم از چه روش استفاده كنم كه امنيت در حد متوسط تامين بشه و از طرفي هم به سرور فشار وارد نشه اساتيد عزيز همچين شرايطي شما چيكار ميكينيد؟ از session استفاده كنم CroosPagePost استفاده بكنم يا viewState ؟:گریه::گریه::گریه:

didaaa
جمعه 05 شهریور 1389, 21:08 عصر
بچه ها فردا بايد يه چيزي واسه گفتن داشته باشم! هم اكنون نيازمند راحل هاي پيشنهاديتان هستيم.

Ali_M.Eghbaldar
جمعه 05 شهریور 1389, 22:10 عصر
سلام
دوست من نیازی نیست تو هر صفحه هستی اطلاعات صفحه قبلی پشت خودت بکشونی که :لبخند:
از هر صفحه که رد میشی اصلاعات رو همون رکورد اولت Update کنی به این روش میگن استفاده از اطلاعات موقت !!

didaaa
جمعه 05 شهریور 1389, 23:06 عصر
تا حدودي متوجه شدم اگه ميشه يه مثال بزنيد؟

PhoenixNet
شنبه 06 شهریور 1389, 11:04 صبح
سلام

میشه از Session استفاده کرد.50 تا که چیزی نیست برای سرور.
اگه بتونی در هر صفحه اطلاعات رو در دیتا بیس ذخیره کنی که چه بهتر.

raziee
شنبه 06 شهریور 1389, 11:57 صبح
میشه از Session استفاده کرد.50 تا که چیزی نیست برای سرور.
:گیج: :متعجب: :گیج:
50 تا برای هر کاربر.
اگه یه سایت با بازدید 100 نفر در هر لحظه باشه میشه ؟؟
=-=-=-=-=
استفاده از viewState بی معنی هست!!!!
اطلاعات viewState فقط برای همون صفحه قابل خودنون و نوشتن هست و در دسترس صفحات دیگه نیست.
=-=-=-=-=
استفاده از DBمیتونه مناسب باشه.

maxpayn2
شنبه 06 شهریور 1389, 13:02 عصر
اطلاعات هر صفحه رو در دیتابیس ذخیره (یا Update ) کن و در صفحات بعد در صورت نیاز از دیتا بیس بخون و دوباره آپدیت کن

ebrahim.tabrizi
شنبه 06 شهریور 1389, 22:20 عصر
به نظر من بهتره که در هر مرحله اطلاعات رو در یک جدول موقت ثبت کنی و در مرحله آخر اگه کاربر تایید شد اطلاعات رو از جدول موقت به جدول اصلی انتقال بدی در غیر اینصورت اطلاعات رو از جدول موقت پاک کنی

yosefi_hossein
سه شنبه 09 شهریور 1389, 08:39 صبح
سلام میتونی فیلدهایی که ارزش امنیتی کمتری رو دارند از طریق url انتقال دهی وبقیه رو با session یا اینکه تو هر صفحه جدول مربوطه رو update کنی که راه دومی به نظر من بهتره

didaaa
شنبه 13 شهریور 1389, 12:29 عصر
دوستان من این کارو کردم قسمت اعظم اطلاعاتو با یک تیبل داخل دیتابیس جابجا میکنم و شناسرو با سشن. نظرتون چیه حالا؟.

milade
شنبه 13 شهریور 1389, 12:53 عصر
اره خوبه ...

گفته جناب ebrahim.tabrizi رو تایید میکنم .یا به قول جناب maxpayn2 توی یه جدول دائمی .

اما حواست باشه اگر یوزر نرسید به اخر توی سشن تایم اوت فیلدش رو پاک کنی .

didaaa
شنبه 13 شهریور 1389, 13:10 عصر
یعنی چی؟ میشه مثال بزنی؟ ببینید شاید توضیح شما ساده باشه ولی چون من تمام زندگیم هیچ کلاسی نرفتم و همکار با سوادی هم نداشتم واسه همین بعضی وقتا مجبورم اینطوری گیر بدم.

milade
شنبه 13 شهریور 1389, 13:37 عصر
برات یه خورده توضیح میدم :

ساخت یک جدول فیزیکی یا مجازی که کار سختی نیست و بایه جستجو همه چیز پیدا میکنی .
حالا یوزر وارد Step اول شده شما 10 تا ستون رو براش توی جدول ذخیره میکنی تا ... Step اخر که دیگه مثلا یه کد رهگیری هم بهش میدی .

اما اگه Step دوم رفت بیرون توی Session_End(در Global.asax ) نام سشن رو میگیری و اون فیلد داخل جدول رو حذف میکنی .

چیز سختی نیست .

aminghaderi
شنبه 13 شهریور 1389, 13:53 عصر
سلام
دوست من نیازی نیست تو هر صفحه هستی اطلاعات صفحه قبلی پشت خودت بکشونی که :لبخند:
از هر صفحه که رد میشی اصلاعات رو همون رکورد اولت Update کنی به این روش میگن استفاده از اطلاعات موقت !!
به نظر منم بهترین راه هست.

milade
شنبه 13 شهریور 1389, 14:20 عصر
به نظر منم بهترین راه هست.
ما هم چیزی جز این نگفتیم :-)

aminghaderi
شنبه 13 شهریور 1389, 14:41 عصر
ما هم چیزی جز این نگفتیم :-)
بله ، مثل هزاران پست ارسالی همگام ، منهم تا دکمه پست رو زدم فهمیدم تاپیک یه صفحه دیگر هم داره (حالا یا تو اون فاصله اظافه شد یا من ندیدم ، یا دیرلود شد و یا...) و اون موقع پست ارسال شده بود و... و گرنه بعدا دیدم شما و دوستان راهنمایی کامل کردید ولی راهی نبود ؟!:اشتباه: (یا حذف پست یا بیخیال شدن ، که من دومی رو انتخاب کردم.:گیج:)

didaaa
شنبه 13 شهریور 1389, 21:19 عصر
برات یه خورده توضیح میدم :

ساخت یک جدول فیزیکی یا مجازی که کار سختی نیست و بایه جستجو همه چیز پیدا میکنی .
حالا یوزر وارد Step اول شده شما 10 تا ستون رو براش توی جدول ذخیره میکنی تا ... Step اخر که دیگه مثلا یه کد رهگیری هم بهش میدی .

اما اگه Step دوم رفت بیرون توی Session_End(در Global.asax ) نام سشن رو میگیری و اون فیلد داخل جدول رو حذف میکنی .

چیز سختی نیست .


اولا تشكر بابت توضيح خوبت!
الان برام روشن شد ولي يه مساله هستش و اينكه من اطلاعاتم داخل چند تا table ذخيره ميشه! ميخوام بدونم اگه كاربر به هر دليل به مشكلي توي مراحل ثبت برخورد كرد چي؟ فكر كنم راهش اينه كه تو catch ركورد وارد شده رو پاك كنم؟ و ديگه اينكه منظورت از جدول مجازي چي بود؟ يعني با اوني كه تو ديتابيس ميسازيم بايد فرق داشته باشه؟

milade
شنبه 13 شهریور 1389, 21:44 عصر
اره میشه توی catch بررسی کرد .
جدول مجازی همون جدول موقت هست .Temporary . که روی رم ذخیره میشه .
فرقی هم که داره مشخصه !
سرعت دست یابی بالاتر ، ذخیره نشدن اطلاعات به صورت قطعی و ...
اگه یه وقت مشکلی پیش بیاد برا سرور و ... جدول موقت پاک میشه و اون کاربرایی که وسط راه بودن بر میگردن اول راه و هیچ مشکلی از نظر اونها نداریم .
اما در جدول دائمی ممکنه با انبوهی از اطلاعات ناقص رو به رو بشیم و ...

didaaa
یک شنبه 14 شهریور 1389, 00:44 صبح
اره میشه توی catch بررسی کرد .
جدول مجازی همون جدول موقت هست .Temporary . که روی رم ذخیره میشه .
فرقی هم که داره مشخصه !

ببينم منظورت از جدول موقت همون جداوليه كه با ADO ميسازيم؟ اين Temporary كه گفتي يعني چي چه جوري ميشه باهاش كار كرد راستش من از يه جدول ثابت دوم براي نگهداري موقت فيلدام استفاده ميكنم. شما بگيد چيكار كنم

milade
یک شنبه 14 شهریور 1389, 03:47 صبح
http://www.sqlteam.com/article/temporary-tables