جامعه برنامه نویس

برگشت   جامعه برنامه نویس > برنامه نویسی با محصولات مایکروسافت > گفتگوی فنی در زمینه فناوری های مایکروسافت

اطلاعیه

گفتگوی فنی در زمینه فناوری های مایکروسافت مباحث و گفتگوهای فنی درباره Net Framework. در این بخش مطرح می شوند.


تاپیک قفل شد
 
ابزار های تاپیک طریقه نمایش
قدیمی چهارشنبه 15 آبان 1387, 16:54 عصر   #1
علیرضا مداح
مدیر کل سایت
 
آواتار علیرضا مداح
 
تاریخ عضویت: دی 1382
محل زندگی: تهران
پست: 1,984
تشکرها: 688
1,423 بار تشکر شده در 549 پست
ارسال پیام از طریق Yahoo به علیرضا مداح
Tick سناریو 2 - چگونگی نگهداری سبد خرید در پروژه فروشگاه آنلاین کتاب

سلام دوستان عزیز،
پیش از آغاز فعالیت ، تاپیک "آغاز پیاده سازی طرح ارتقاء سطح علمی - ذکر جزییات" را مطالعه نمایید ،

سناریو شماره 2 :
در یک پروژه فروشگاه آنلاین کتاب که با ASP.NET 3.5 پیاده سازی میگردد نیاز به نگهداری سبد خرید(Shopping Cart) میباشد ، توجه داشته باشید که کاربران بی نام(Anonymous Users) نیز باید همانند کاربران تایید هویت شده(Authenticated Users) توانایی ایجاد سبد خرید را داشته باشند. سبد خرید هر کاربر باید برای مراجعات بعدی وی نگهداری شود ، اما شیوه ، مدت زمان و مکان نگهداری سبد خرید 2 گروه کاربران ذکر شده لزوما" نباید یکسان باشد . برای مدیریت کاربران نیز از امکانات Membership Management که در ASP.NET 2.0 معرفی شد ، بهره گیری میشود . در روشهای پیشنهادی خود 2 فاکتور مهم امنیت(Security) و کارایی(Performance) را نیز مد نظر قرار دهید .
لطفا" راهکارهای خود را با ذکر جزئیات و به طور دقیق ذکر نمایید ،

"سناریو تکمیل شد"

پیشاپیش از شرکت شما در این بحث ، سپاسگزارم ،/

پ.ن : مطالبی که از سوی بنده مطرح میشود ، جهت به چالش کشیدن بحث میباشد و بعضا" ممکن است ساده یا با جواب مشخص و معلوم به نظر بیایند ، این بدان خاطر است که قصد بر این است تا این گفتگوها برای افرادی با سطح علمی پایین تر نیز مفید واقع شود و ممکن است این مطالب در ذهن آنها نیز مطرح گردد ، همچنین جهت این است که تمام جوانب نظر شخص شرکت کننده در گفتگو مورد بررسی قرار گیرد،

آخرین ویرایش به وسیله علیرضا مداح : دوشنبه 20 آبان 1387 در 10:56 صبح دلیل: سناریو اصلاخ شد( با تشکر از m.hamidreza)
علیرضا مداح آفلاین است  
9 کاربر از علیرضا مداح به خاطر این مطلب مفید تشکر کرده اند:
قدیمی پنج شنبه 16 آبان 1387, 22:28 عصر   #2
m.hamidreza
کاربر دائمی
 
آواتار m.hamidreza
 
تاریخ عضویت: اسفند 1385
محل زندگی: کره زمین
پست: 1,355
تشکرها: 382
952 بار تشکر شده در 293 پست

مدال های افتخار

نقل قول: سناریو 2 - چگونگی نگهداری سبد خرید در پروژه فروشگاه آنلاین کتاب

چیزی شبیه به این سناریو قبلا در تالار ASP.NET مطرح شده.
بهتره این سناریو به دوتا ساب سناریو تقسیم بشه. ساب سناریو 1 برای کاربران مهمان و ساب سناریو 2 برای اعضاء که مدیریت سناریوی اعضاء به مراتب راحت تر از کاربران مهمان هست.
در سناریوی کاربران مهمان از کوکی میتونیم استفاده کنیم.
در سناریوی کاربران عضو هم از Cache یا دیتابیس.
Apress کتابی در این مورد داره که در اون به خوبی شرح ما وقع رو توضیح داده در اونجا از دیتابیس استفاده شده . در تاپیک هایی که در تالار ASP.NET قبلا مطرح شده بود جناب استاد بهروز خان راد Cache رو پیشنهاد کرده بودن و دلایل و روشون رو هم تقریبا کامل توضیح دادن...
ولی خوب مسلما شرایط پروژه رو انتخاب روش انجام پروژه تاثیر میذاره.
m.hamidreza آفلاین است  
کاربرانی که به خاطر مطلب مفید m.hamidreza از وی تشکر کرده‌اند:
قدیمی جمعه 17 آبان 1387, 18:46 عصر   #3
علیرضا مداح
مدیر کل سایت
 
آواتار علیرضا مداح
 
تاریخ عضویت: دی 1382
محل زندگی: تهران
پست: 1,984
تشکرها: 688
1,423 بار تشکر شده در 549 پست
ارسال پیام از طریق Yahoo به علیرضا مداح
نقل قول: سناریو 2 - چگونگی نگهداری سبد خرید در پروژه فروشگاه آنلاین کتاب

@m.hamidreza
از شرکت شما در بحث سپاسگزارم ،

در این تاپیک قصد داریم که به طور موشکافانه این مبحث را مورد بررسی قرار دهیم ،

نقل قول:
در سناریوی کاربران مهمان از کوکی میتونیم استفاده کنیم.
1)به نظر شما اگر تعداد آیتم های سبد خرید کاربر بالا رود ، تاثیر منفی بر روی Performance نمیگذارد؟چون هر کوکی در هر درخواست ، بین سرور و کلاینت رد و بدل میشود و در صورتیکه حجم بالایی داشته باشد تاثیر منفی بر روی Performance خواهد گذاشت ،
2)در صورت بهره گیری از کوکی ، چه راهکاری را جهت دستیابی به حداکثر کارایی پیشنهاد میکنید؟
2)اگر کوکی ها در مرورگر کاربر غیرفعال شده باشد ، درآنصورت چه راهکاری را پیشنهاد میکنید؟
4)به نظر شما کوکی محلی ایمن برای ذخیره سازی سبد خرید است؟ یا به عبارتی دیگر با لو رفتن اطلاعات سبد خرید آیا خطری سایت را تهدید میکند؟در اینصورت آیا رمزگذاری کوکی را پیشنهاد میکنید؟و یا اینکه چه روش دیگری را برای ایمن سازی کوکی پیشنهاد میدهید؟
علیرضا مداح آفلاین است  
کاربرانی که به خاطر مطلب مفید علیرضا مداح از وی تشکر کرده‌اند:
قدیمی دوشنبه 20 آبان 1387, 00:43 صبح   #4
vb_bmw
کاربر تازه وارد
 
آواتار vb_bmw
 
تاریخ عضویت: آذر 1385
محل زندگی: زیر پرچم دات نت!!!
پست: 56
تشکرها: 143
13 بار تشکر شده در 10 پست
ارسال پیام از طریق MSN به vb_bmw ارسال پیام از طریق Yahoo به vb_bmw
نقل قول: سناریو 2 - چگونگی نگهداری سبد خرید در پروژه فروشگاه آنلاین کتاب

نقل قول:
نوشته شده توسط علیرضا مداح مشاهده تاپیک
1)به نظر شما اگر تعداد آیتم های سبد خرید کاربر بالا رود ، تاثیر منفی بر روی Performance نمیگذارد؟چون هر کوکی در هر درخواست ، بین سرور و کلاینت رد و بدل میشود و در صورتیکه حجم بالایی داشته باشد تاثیر منفی بر روی Performance خواهد گذاشت ،
با شما موافقم اگه آیتم های سبد خرید زیاد بشن و حجم اطلاعات بالا بره و تعداد یوزر ها افزایش پیدا کنند مشکل زیادی خواهیم داشت

نقل قول:
نوشته شده توسط علیرضا مداح مشاهده تاپیک
2)در صورت بهره گیری از کوکی ، چه راهکاری را جهت دستیابی به حداکثر کارایی پیشنهاد میکنید؟
به نظر من اگه از کوکی یا هر روش دیگه ای بخواهیم استفاده کنیم ، بهترین راهکار ذخیره اطلاعات لازم به فرمت XML و یا Json در محل ذخیر سازیمون هستش(مثلا کش)

نقل قول:
نوشته شده توسط علیرضا مداح مشاهده تاپیک
3)اگر کوکی ها در مرورگر کاربر غیرفعال شده باشد ، درآنصورت چه راهکاری را پیشنهاد میکنید؟
؟
روشی که به نظر من اینجا جواب گو باشه استفاده از Session هست!البته این کار هم ممکنه هم از نظر امنیتی و هم از نظر کارایی به سیستم فشار بیاره ولی بازم راه حل استفاده از یک قالب بندی مشخص برای اطلاعات هست ، مثل Json که هم حجم کمی داره ، هم کارایی بالایی داره ، هم کلاس هایی برای ارتباط با اون وجود داره ، به راحتی با تکنلوژی های جدید ارتباط برقرار می کنه ( AJAX) و از همه مهم تر به پلتفرم خاصی وابسته نیست!

پ.ن : امید وارم این یکی پاک نشه!!!
__________________
آدما خیلی زود گم میشن !!!
vb_bmw آفلاین است  
قدیمی دوشنبه 20 آبان 1387, 10:17 صبح   #5
m.hamidreza
کاربر دائمی
 
آواتار m.hamidreza
 
تاریخ عضویت: اسفند 1385
محل زندگی: کره زمین
پست: 1,355
تشکرها: 382
952 بار تشکر شده در 293 پست

مدال های افتخار

نقل قول: سناریو 2 - چگونگی نگهداری سبد خرید در پروژه فروشگاه آنلاین کتاب

نقل قول:
نوشته شده توسط علیرضا مداح مشاهده تاپیک
@m.hamidreza
از شرکت شما در بحث سپاسگزارم ،
خواهش میکنم.
نقل قول:
نوشته شده توسط علیرضا مداح مشاهده تاپیک
1)به نظر شما اگر تعداد آیتم های سبد خرید کاربر بالا رود ، تاثیر منفی بر روی Performance نمیگذارد؟چون هر کوکی در هر درخواست ، بین سرور و کلاینت رد و بدل میشود و در صورتیکه حجم بالایی داشته باشد تاثیر منفی بر روی Performance خواهد گذاشت ،
شما حجم بالای کوکی رو چقدر در نظر میگیرین؟
نقل قول:
نوشته شده توسط علیرضا مداح مشاهده تاپیک
2)در صورت بهره گیری از کوکی ، چه راهکاری را جهت دستیابی به حداکثر کارایی پیشنهاد میکنید؟
ببینید توی یه همچین سایتی دو حالت بیشتر وجود نداره یا پروسه ی خرید کامل میشه یا نمیشه! در حالت اول برای ورود به پروسه ی پرداخت پول کاربر باید لاگین کنه و اگه پروسه ی پرداخت انجام نشه اصطلاحا کاربر مهمان یا داره تو سایت بازی میکنه یا یه مشکلی براش پیش میاد که وارد مرحله پرداخت نمیشه. حالا این دسته از کاربران چند درصد عموم کاربران اون سایت رو تشکیل میدن؟ با توجه به این شرایط من غیر کوکی چیزی به ذهنم نمیرسه.

نقل قول:
نوشته شده توسط علیرضا مداح مشاهده تاپیک
2)اگر کوکی ها در مرورگر کاربر غیرفعال شده باشد ، درآنصورت چه راهکاری را پیشنهاد میکنید؟
به کاربر پیغام بده کوکی مرورگر رو فعال کنه. چون این دسته از کاربران جزء حداقل کاربران سایت هستند به نظر من نباید زیاد به فکر آلترنتیوهای پروژشون بود.
نقل قول:
نوشته شده توسط علیرضا مداح مشاهده تاپیک
4)به نظر شما کوکی محلی ایمن برای ذخیره سازی سبد خرید است؟ یا به عبارتی دیگر با لو رفتن اطلاعات سبد خرید آیا خطری سایت را تهدید میکند؟در اینصورت آیا رمزگذاری کوکی را پیشنهاد میکنید؟و یا اینکه چه روش دیگری را برای ایمن سازی کوکی پیشنهاد میدهید؟
اگه این کوکی دزدیده شه چه استفاده ای میشه ازش کرد؟ دارنده ی اون کوکی باید پول کتاب هارو در مرحله ی بعدی بده. به نظر من اونقدر نباید نگران امنیت این کوکی بود.
نقل قول:
نوشته شده توسط vb_bmw مشاهده تاپیک
روشی که به نظر من اینجا جواب گو باشه استفاده از Session هست!!
در حالتی که کوکی غیر فعال باشه عملا از Session هم نمیتونین استفاده کنین.
m.hamidreza آفلاین است  
3 کاربر از m.hamidreza به خاطر این مطلب مفید تشکر کرده اند:
قدیمی دوشنبه 20 آبان 1387, 10:43 صبح   #6
علیرضا مداح
مدیر کل سایت
 
آواتار علیرضا مداح
 
تاریخ عضویت: دی 1382
محل زندگی: تهران
پست: 1,984
تشکرها: 688
1,423 بار تشکر شده در 549 پست
ارسال پیام از طریق Yahoo به علیرضا مداح
نقل قول: سناریو 2 - چگونگی نگهداری سبد خرید در پروژه فروشگاه آنلاین کتاب

نقل قول:
اگه این کوکی دزدیده شه چه استفاده ای میشه ازش کرد؟ دارنده ی اون کوکی باید پول کتاب هارو در مرحله ی بعدی بده. به نظر من اونقدر نباید نگران امنیت این کوکی بود.
پس نظر شما بر این است که دزدیده شدن کوکی ، خطری بر روی امنیت نخواهد داشت ، این مورد صحیح است ، البته باید توجه کنید که همراه با Cookie ، نباید اطلاعات مهم(Sensitive) دیگری ذخیره گردد ،

نقل قول:
در حالتی که کوکی غیر فعال بوده عملا از Session هم نمیتونین استفاده کنین.
خیر.در این صورت میتوانید از Seesion های Cookieless بهره گیری نمایید که البته در این مورد هم قرار دادن SessionID در URL به دلیل تحمیل نمودن ریسک امنیتی بر روی سایت ، پیشنهاد نمیگردد و در صورت استفاده هم باید SessionID را با یک مقدار رندوم دیگر ترکیب نمود و همچنین مقدار regenerateExpiredSessionId در web.config بر روی true قرار گیرد .
علیرضا مداح آفلاین است  
کاربرانی که به خاطر مطلب مفید علیرضا مداح از وی تشکر کرده‌اند:
قدیمی دوشنبه 20 آبان 1387, 20:26 عصر   #7
amir-yazdel
کاربر جدید
 
آواتار amir-yazdel
 
تاریخ عضویت: مهر 1387
محل زندگی: کاشان-یزدل
پست: 23
تشکرها: 17
یک بار تشکر شده در یک پست
ارسال پیام از طریق Yahoo به amir-yazdel
Smile نقل قول: سناریو 2 - چگونگی نگهداری سبد خرید در پروژه فروشگاه آنلاین کتاب

سلام
من آماتورم، اما چیزی که به نظرم می آد اینه که یک فایل یا دیتابیس توی سرور سایت ایجاد کرده و برای هر سفارش دهنده یک آی دی و مشخصات منحصر به فرد قرار بدیم و فقط اون اطلاعات از طرف کوکی ها ردو بدل بشه.
اگه اشتباه می گم حتماً درباره فایل ها و دیتابیس ها و همچنین در مورد کوکی ها بیشتر منو روشن کنید.
ممنون
یاعلی
amir-yazdel آفلاین است  
قدیمی سه شنبه 21 آبان 1387, 16:05 عصر   #8
Behrouz_Rad
مدیر بخش
 
آواتار Behrouz_Rad
 
تاریخ عضویت: آذر 1383
محل زندگی: اهواز - شیراز
پست: 8,504
تشکرها: 760
4,608 بار تشکر شده در 1,662 پست
ارسال پیام از طریق Yahoo به Behrouz_Rad
نقل قول: سناریو 2 - چگونگی نگهداری سبد خرید در پروژه فروشگاه آنلاین کتاب

عنصر اصلی در طراحی سبد خرید در ASP.NET، شی Cache هست.
اطلاعات خرید در یک لیست Generic، و لیست Generic نیز در Cache نگهداری میشه.
حداقل اطلاعاتی که برای هر مشتری نیاز هست شامل: مشخصه ی مشتری، IP مشتری، یک عبارت راندوم و زمان انتخاب آخرین محصول.

نکته ی مهمی که باید به اون دقت داشته باشید، احتمال یکسان بودن IP های کاربران است. به عنوان مثال، کاربرانی که از یک شبکه ی LAN استفاده می کنند و IP تمامی اونها یکسان هست.
چون نیاز به یک مشخصه برای تمیز دادن افراد در هنگام خرید هست و به دلیل گفته شده نمیشه به IP کاربران "مهمان" اعتماد کرد، لذا یک عبارت راندوم رو - مثلاً با استفاده از متد NewGuid کلاس GUID - ایجاد، در کوکی ذخیره، و در هنگام ورود کاربر به سایت بر روی سیستم اون ذخیره می کنیم. کاربران عضو چون از نام کاربری استفاده می کنند نیاز به کوکی ندارند.
نکته ی مهم اینکه ابتدا باید فعال بودن کوکی ها بر روی سیستم کاربر مهمان - مثلاً با استفاده از متد Cookies کلاس HttpBrowserCapabilities - رو بررسی کنید. هر چند که در اکثریت قریب به اتفاق مواقع کوکی ها بر روی سیستم فعال هستند اما پیش بینی وجود رخدادی حتی در حد 1 درصد، می تونه از وقوع مشکل در هنگام تعامل کاربر با صفحه جلوگیری کنه. در صورت غیر فعال بودن کوکی ها، از خرید کاربر جلوگیری و پیغام مناسبی رو نمایش بدید.

در هنگام ارسال درخواست خرید، لیست Generic از Cache بازیابی شده و با حرکت بین آیتم های اون - پیشنهاد من استفاده از LINQ هست - افرادی که زمان آخرین انتخاب کالای اونها از مقدار مشخصی گذشته و درخواست رو نهایی نکردن، از لیست حذف میشن.
نکته ی مهمتر اینکه، برای Cache باید زمان Sliding به منظور Expire تعیین کنید و نه زمان Absolute!

بقیه ی موارد واضح هست. به هر حال اگر ابهامی بود، در جهت رفع اون حاضرم.

موفق باشید.
__________________
BEC - کتابخانه ای برای ایجاد خودکار ایمیل بر روی دامنه ی شخصی

Measuring programming progress by lines of code is like measuring aircraft building progress by weight
Bill Gates
Behrouz_Rad آفلاین است  
8 کاربر از Behrouz_Rad به خاطر این مطلب مفید تشکر کرده اند:
قدیمی جمعه 01 آذر 1387, 09:58 صبح   #9
vb_bmw
کاربر تازه وارد
 
آواتار vb_bmw
 
تاریخ عضویت: آذر 1385
محل زندگی: زیر پرچم دات نت!!!
پست: 56
تشکرها: 143
13 بار تشکر شده در 10 پست
ارسال پیام از طریق MSN به vb_bmw ارسال پیام از طریق Yahoo به vb_bmw
نقل قول: سناریو 2 - چگونگی نگهداری سبد خرید در پروژه فروشگاه آنلاین کتاب

سلام!

من یه نمونه دیدم برای این ماجرا گفتم لینکشو اینجا بزارم

این جا

این دقیقا همون کاری رو که جناب بهروز خان فرمودن رو پیاده سازی کرده!
__________________
آدما خیلی زود گم میشن !!!
vb_bmw آفلاین است  
قدیمی جمعه 01 آذر 1387, 10:32 صبح   #10
علیرضا مداح
مدیر کل سایت
 
آواتار علیرضا مداح
 
تاریخ عضویت: دی 1382
محل زندگی: تهران
پست: 1,984
تشکرها: 688
1,423 بار تشکر شده در 549 پست
ارسال پیام از طریق Yahoo به علیرضا مداح
نقل قول: سناریو 2 - چگونگی نگهداری سبد خرید در پروژه فروشگاه آنلاین کتاب

نقل قول:
این دقیقا همون کاری رو که جناب بهروز خان فرمودن رو پیاده سازی کرده!
خیر ، در این مقاله از Session State استفاده شده است ،/
علیرضا مداح آفلاین است  
تاپیک قفل شد

بوک مارک کردن این تاپیک

Tags
e-Commerce, eShop, سبد خرید, سناریو 2, تجارت الکترونیک, Shopping Cart, State Management, فروشگاه آنلاین


کاربرانی که این تاپیک را مشاهده میکنند: 1 (0 کاربران و 1 مهمان)
 
ابزار های تاپیک
طریقه نمایش

قوانین ایجاد تاپیک در تالار
شما نمی توانید تاپیک جدید ایجاد کنید
شما نمی توانید به تاپیک ها پاسخ دهید
شما نمی توانید ضمیمه ارسال کنید
شما نمی توانید پاسخ هایتان را ویرایش کنید

BB code روشن است
خندانک ها روشن هستند
[IMG] روشن است
HTML خاموش است

پرش



واحد زمان برحسب ساعت لندن +3.5. ساعت هم اکنون 05:50 صبح است.


Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 1389, Jelsoft Enterprises Ltd.
خدمات میزبانی این سایت تحت پوشش شرکت ایران هاست می باشد.