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

نام تاپیک: مشکل با دیتاتیبل استاتیک

  1. #1
    کاربر دائمی
    تاریخ عضویت
    دی 1387
    محل زندگی
    مشهد
    پست
    518

    مشکل با دیتاتیبل استاتیک

    با سلام خدمت دوستان و اساتید
    بنده پروژه ای رو مشغول انجامش هستم که یه cms فول ایجکسیه که برای یه صنف خاصه.
    برای این منظور هم سراغ JQuery-Ajax همراه با Json و Web Service رفتم.
    قسمتی از کار شبیه به یه سبد خرید میمونه(البته سبد خرید نیست) و یه دیتاتیبل به صورت استاتیک (جهت شناسایی توسط وب سرویس)و public (چون در چندتا وب سرویس با این دیتاتیبل کار دارم) تعریف کردم.
    مشکل اینه وقتی پروژه رو روی هاست میذارم و دو نفر همزمان روی این دیتاتیبل کار میکنند(مثلا دارن سبد خریدشون رو پر میکنند) سبدشون مشترک میشه.
    یعنی انتخابهای نفر اول و نفر دوم با هم ریخته میشه توی دیتاتیبل.
    بنده سوالم اینه چطور میشه یه دیتاتیبل به صورت استاتیک داشت که این مشکلی که عرض کردم واسش پیش نیاد
    سپاسگزار میشم راهنمایی بفرمایید

  2. #2

    نقل قول: مشکل با دیتاتیبل استاتیک

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

    ولی به طور کلی ساده ترین راه برای نگهداری اطلاعات به ازای هر کاربر استفاده از Session است.

  3. #3
    کاربر دائمی
    تاریخ عضویت
    دی 1387
    محل زندگی
    مشهد
    پست
    518

    نقل قول: مشکل با دیتاتیبل استاتیک

    نقل قول نوشته شده توسط Alireza_Salehi مشاهده تاپیک
    با توجه به دو تا پست دیگری هم که در این زمینه دارید به نظرم کمی صورت مسئله اشتباه تعریف شده. اگر مسئله را به صورت کامل شرح دهید به راه حل بهتری خواهید رسید.

    ولی به طور کلی ساده ترین راه برای نگهداری اطلاعات به ازای هر کاربر استفاده از Session است.
    ممنونم مهندس
    در اوندو تایپیکی که ایجاد کرده بودم ئرسته عنوانشون همین نام بود ولی داستان اونا فرق میکرد.
    راجع به سشن هم باید خدمتتون عرض کنم که منم از سشن استفاده میکنم.ولی با این مشکل عجیب برخورد کردم.
    بذارین اینجوری توضیح بدم:
    فرض کنید من یه سبد خرید دارم و کاربر در صورت داشتن مجوز(سشن) میتونه بیاد و محصولاتشو انتخاب کنه و توی سبد بذاره.برای این منظور هم یه دیتاتیبل استاتیک تعریف کردم و با هر انتخاب کاربر رکورد مربوط به اون محصول داخل دیتاتیبل قرار گرفته و گریدی هم برای نمایش موارد انتخابی گذاشتم که از این دیتاتیبل پر میشه.(تمام کارها به صورت ایجکسی انجام میشه)
    حالا اگه نفر اولی بیاد و یه محصول رو در سبد خریدش بذاره(یعنی تا اینجا دیتاتیبل یه رکورد توش وجود داره) و در همون لحظه نفر دومی هم یه محصول دیگه رو در سبد خریدش قرار بده اونوقت انگار هر دو کاربر دو محصول رو انتخاب کردند.یعنی بجای اینکه دیتاتیبل واسه هر کاربر یه سطر داشته باشه واسه هر دوتاشون دو سطر در نظر میگیره!!!!!!!!!!!!!!!!
    میبخشید که طولانی شد.ممنون میشم که راهنمایی کنید

  4. #4
    کاربر دائمی
    تاریخ عضویت
    دی 1387
    محل زندگی
    مشهد
    پست
    518

    نقل قول: مشکل با دیتاتیبل استاتیک

    دوستان نظری ندارند

  5. #5
    کاربر دائمی
    تاریخ عضویت
    دی 1387
    محل زندگی
    مشهد
    پست
    518

    نقل قول: مشکل با دیتاتیبل استاتیک

    یعنی روشی وجود نداره؟

  6. #6
    کاربر دائمی آواتار fakhravari
    تاریخ عضویت
    دی 1388
    محل زندگی
    بوشهر
    سن
    34
    پست
    8,023

    نقل قول: مشکل با دیتاتیبل استاتیک

    اينم يه نظري
    يه كوكي بزار يه كد unique بدش .
    موقع اضافه يا كم برسي كن ................

  7. #7

    نقل قول: مشکل با دیتاتیبل استاتیک

    در برنامه های تحت وب طراحی ساختار برنامه باید به ازای هر درخواست صورت پذیرد. یعنی به ازای هر درخواستی که به سرور می رسد همه چیز از نو پردازش می شود و همه متغیر ها و اشیا از نو ساخته می شوند (فعلا به بحث کش کاری نداریم)
    صرفا در صورتی که نیاز به حفظ حالت (State) چیزی وجود داشت به یکی از روش ها (Cookie, Session,Application,Cache, ViewState,....) آن را حفظ می کنید که در درخواست بعدی از بین نرود.

    وقتی از یک کلاس یک نمونه (Instance) ساخته می شود (در اینجا کلاس Page به ازای هر کاربر) کلیه اشیا و متغیر های داخلی آن به ازای هر نمونه یک حافظه مجزا خواهد داشت. ولی وقتی به صورت static تعریف شده باشند به ازای همه نمونه ها (به ازای کاربران مختلفی که صفحه مورد نظر را درخواست کرده اند) از یک حافظه مشترک استفاده خواهد شد.

    بنابراین در ASP.NET از static به جا و به موقع استفاده کنید.

  8. #8
    کاربر دائمی
    تاریخ عضویت
    دی 1387
    محل زندگی
    مشهد
    پست
    518

    نقل قول: مشکل با دیتاتیبل استاتیک

    نقل قول نوشته شده توسط Alireza_Salehi مشاهده تاپیک
    در برنامه های تحت وب طراحی ساختار برنامه باید به ازای هر درخواست صورت پذیرد. یعنی به ازای هر درخواستی که به سرور می رسد همه چیز از نو پردازش می شود و همه متغیر ها و اشیا از نو ساخته می شوند (فعلا به بحث کش کاری نداریم)
    صرفا در صورتی که نیاز به حفظ حالت (State) چیزی وجود داشت به یکی از روش ها (Cookie, Session,Application,Cache, ViewState,....) آن را حفظ می کنید که در درخواست بعدی از بین نرود.

    وقتی از یک کلاس یک نمونه (Instance) ساخته می شود (در اینجا کلاس Page به ازای هر کاربر) کلیه اشیا و متغیر های داخلی آن به ازای هر نمونه یک حافظه مجزا خواهد داشت. ولی وقتی به صورت static تعریف شده باشند به ازای همه نمونه ها (به ازای کاربران مختلفی که صفحه مورد نظر را درخواست کرده اند) از یک حافظه مشترک استفاده خواهد شد.

    بنابراین در ASP.NET از static به جا و به موقع استفاده کنید.
    سپاس مهندس ... بنده هم با شما موافقم ولی داستان josn و web service داستان استاتیکیه!!!!
    کدهامو تغییر دادم و با کمک سشن برنامه رو اکی کردم ... باز هم به صورت ایجکسی و البته پیشنهادات دوستان گل خودم تو سایت

تاپیک های مشابه

  1. مشکل در وصل کردن دیتاتیبل به گزارش Stimulsoft
    نوشته شده توسط S_VB.max در بخش ابزارهای گزارش سازی
    پاسخ: 2
    آخرین پست: شنبه 24 اسفند 1392, 17:22 عصر
  2. سوال: مشکل با دیتاتیبل استاتیک
    نوشته شده توسط mahdidabaghi در بخش C#‎‎
    پاسخ: 5
    آخرین پست: شنبه 05 مرداد 1392, 12:19 عصر
  3. سوال: مشکل با دیتاتیبل استاتیک
    نوشته شده توسط mahdidabaghi در بخش ASP.NET Web Forms
    پاسخ: 6
    آخرین پست: شنبه 05 مرداد 1392, 10:52 صبح
  4. مشکل در تعریف متغیر استاتیک در دلفی 2009 ؟
    نوشته شده توسط BORHAN TEC در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 12
    آخرین پست: یک شنبه 22 شهریور 1388, 09:20 صبح
  5. پاسخ: 7
    آخرین پست: یک شنبه 02 تیر 1387, 19:24 عصر

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

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