نمایش نتایج 1 تا 11 از 11

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

  1. #1

    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 در 11:26 صبح دلیل: سناریو اصلاخ شد( با تشکر از m.hamidreza)
    I've just started tweeting!
    @Alireza_Maddah

  2. #2
    کاربر دائمی آواتار m.hamidreza
    تاریخ عضویت
    اسفند 1385
    محل زندگی
    کره زمین
    پست
    1,465

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

    چیزی شبیه به این سناریو قبلا در تالار ASP.NET مطرح شده.
    بهتره این سناریو به دوتا ساب سناریو تقسیم بشه. ساب سناریو 1 برای کاربران مهمان و ساب سناریو 2 برای اعضاء که مدیریت سناریوی اعضاء به مراتب راحت تر از کاربران مهمان هست.
    در سناریوی کاربران مهمان از کوکی میتونیم استفاده کنیم.
    در سناریوی کاربران عضو هم از Cache یا دیتابیس.
    Apress کتابی در این مورد داره که در اون به خوبی شرح ما وقع رو توضیح داده در اونجا از دیتابیس استفاده شده . در تاپیک هایی که در تالار ASP.NET قبلا مطرح شده بود جناب استاد بهروز خان راد Cache رو پیشنهاد کرده بودن و دلایل و روشون رو هم تقریبا کامل توضیح دادن...
    ولی خوب مسلما شرایط پروژه رو انتخاب روش انجام پروژه تاثیر میذاره.

  3. #3

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

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

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

    در سناریوی کاربران مهمان از کوکی میتونیم استفاده کنیم.
    1)به نظر شما اگر تعداد آیتم های سبد خرید کاربر بالا رود ، تاثیر منفی بر روی Performance نمیگذارد؟چون هر کوکی در هر درخواست ، بین سرور و کلاینت رد و بدل میشود و در صورتیکه حجم بالایی داشته باشد تاثیر منفی بر روی Performance خواهد گذاشت ،
    2)در صورت بهره گیری از کوکی ، چه راهکاری را جهت دستیابی به حداکثر کارایی پیشنهاد میکنید؟
    2)اگر کوکی ها در مرورگر کاربر غیرفعال شده باشد ، درآنصورت چه راهکاری را پیشنهاد میکنید؟
    4)به نظر شما کوکی محلی ایمن برای ذخیره سازی سبد خرید است؟ یا به عبارتی دیگر با لو رفتن اطلاعات سبد خرید آیا خطری سایت را تهدید میکند؟در اینصورت آیا رمزگذاری کوکی را پیشنهاد میکنید؟و یا اینکه چه روش دیگری را برای ایمن سازی کوکی پیشنهاد میدهید؟
    I've just started tweeting!
    @Alireza_Maddah

  4. #4
    کاربر تازه وارد آواتار vb_bmw
    تاریخ عضویت
    آذر 1385
    محل زندگی
    زیر پرچم دات نت!!!
    پست
    56

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

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

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

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

    پ.ن : امید وارم این یکی پاک نشه!!!

  5. #5
    کاربر دائمی آواتار m.hamidreza
    تاریخ عضویت
    اسفند 1385
    محل زندگی
    کره زمین
    پست
    1,465

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

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

    نقل قول نوشته شده توسط علیرضا مداح مشاهده تاپیک
    2)اگر کوکی ها در مرورگر کاربر غیرفعال شده باشد ، درآنصورت چه راهکاری را پیشنهاد میکنید؟
    به کاربر پیغام بده کوکی مرورگر رو فعال کنه. چون این دسته از کاربران جزء حداقل کاربران سایت هستند به نظر من نباید زیاد به فکر آلترنتیوهای پروژشون بود.
    نقل قول نوشته شده توسط علیرضا مداح مشاهده تاپیک
    4)به نظر شما کوکی محلی ایمن برای ذخیره سازی سبد خرید است؟ یا به عبارتی دیگر با لو رفتن اطلاعات سبد خرید آیا خطری سایت را تهدید میکند؟در اینصورت آیا رمزگذاری کوکی را پیشنهاد میکنید؟و یا اینکه چه روش دیگری را برای ایمن سازی کوکی پیشنهاد میدهید؟
    اگه این کوکی دزدیده شه چه استفاده ای میشه ازش کرد؟ دارنده ی اون کوکی باید پول کتاب هارو در مرحله ی بعدی بده. به نظر من اونقدر نباید نگران امنیت این کوکی بود.
    نقل قول نوشته شده توسط vb_bmw مشاهده تاپیک
    روشی که به نظر من اینجا جواب گو باشه استفاده از Session هست!!
    در حالتی که کوکی غیر فعال باشه عملا از Session هم نمیتونین استفاده کنین.

  6. #6

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

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

    در حالتی که کوکی غیر فعال بوده عملا از Session هم نمیتونین استفاده کنین.
    خیر.در این صورت میتوانید از Seesion های Cookieless بهره گیری نمایید که البته در این مورد هم قرار دادن SessionID در URL به دلیل تحمیل نمودن ریسک امنیتی بر روی سایت ، پیشنهاد نمیگردد و در صورت استفاده هم باید SessionID را با یک مقدار رندوم دیگر ترکیب نمود و همچنین مقدار regenerateExpiredSessionId در web.config بر روی true قرار گیرد .
    I've just started tweeting!
    @Alireza_Maddah

  7. #7
    کاربر تازه وارد آواتار amir-yazdel
    تاریخ عضویت
    مهر 1387
    محل زندگی
    کاشان-یزدل
    پست
    39

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

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

  8. #8

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

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

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

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

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

    موفق باشید.

  9. #9
    کاربر تازه وارد آواتار vb_bmw
    تاریخ عضویت
    آذر 1385
    محل زندگی
    زیر پرچم دات نت!!!
    پست
    56

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

    سلام!

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

    این جا

    این دقیقا همون کاری رو که جناب بهروز خان فرمودن رو پیاده سازی کرده!

  10. #10

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

    این دقیقا همون کاری رو که جناب بهروز خان فرمودن رو پیاده سازی کرده!
    خیر ، در این مقاله از Session State استفاده شده است ،/
    I've just started tweeting!
    @Alireza_Maddah

  11. #11
    کاربر تازه وارد آواتار vb_bmw
    تاریخ عضویت
    آذر 1385
    محل زندگی
    زیر پرچم دات نت!!!
    پست
    56

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

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

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

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