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

نام تاپیک: پر شدن فضای رم

  1. #1

    پر شدن فضای رم

    باسلام
    پایگاه داده ای نوشتم برای موسسه ای با اسکیوال و سی شارپ
    اسکیول 2008 و سی شارپ 2012 بر روی ویندوز7 حالا که برنامه به اتمام رسیده برای موسسه بردم دیدم ویندوزشون xp3 هست مجبور شدم اونجا اسکیوال 2000 نصب کنم چون هیچ کدوم از ورژن هاش نصب نمیشد. برنامه اجراشد و داده هشون رو اضافه کردن حالا یک مشکل پیش اومد بعد از یک مدتی ، وقتی که زیاد فرم ها باز و بسته میشد امکان داشت توی فرمی اگر شخصی رو جستجو میکردن میگفت ارتباطم با اسکیوال قطع شده و اگر برنامه بسته میشد و دوباره اجرا میشد مشکل برطرف میشد. توجه کردم دیدم رم کامپیوترشون 2گیگ هست وقتی یک فرم باز می کنن و میبندن فضای خالی به رم برنمیگرده و همین جور داره پر میشه تا به 2گیگ میرسه و این پیغام رومیده دیدم که من برای کانکشنش هم close گذاشتم آمدم باکامپیوتر خودم برسی کردم دیدم که این فضای خالی روبرمیگردونه فقط اونجا هست که این اتفاق می افته حالا باید چه کار کنم کدی هست که بشه فضارو بعد هر بار استاده خالی کرد؟

  2. #2

    نقل قول: پرشدن فضای رم

    آیا برنامه حجم زیادی اطلاعات رو از پایگاه داده میخونه؟ مثلا یک گرید رو پر میکنه؟
    آیا تو گرید ها عکس دارین؟

  3. #3

    نقل قول: پرشدن فضای رم

    فقط 1 گرید دارم که توش عکس پرسنل داره حجم کل عکس ها هم شاید 50 مگ بشه همین

  4. #4

    نقل قول: پرشدن فضای رم

    نقل قول نوشته شده توسط Rejnev مشاهده تاپیک
    آیا برنامه حجم زیادی اطلاعات رو از پایگاه داده میخونه؟ مثلا یک گرید رو پر میکنه؟
    آیا تو گرید ها عکس دارین؟
    فقط 1 گرید دارم که توش عکس پرسنل داره حجم کل عکس ها هم شاید 50 مگ بشه همین

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

    نقل قول: پرشدن فضای رم

    با سلام

    امیدوارم مشکلت حل بشه:

    ==============================================

    هنگام رویداد بسته شدن هر فرمی آن فرم را this.Dispose کن.

    یا

    از این دستور در لود هر فرم استفاده کن:


    GC.Collect();
    GC.WaitForPendingFinalizers();


  6. #6

    نقل قول: پرشدن فضای رم

    من هم همین مشکل رو داشتم...
    مشکل از عکس هاست.
    برای اطمینان از حرفم کافیه لود عکس ها رو حذف کنید و دوباره امتحان کنید. (یعنی از دیتابیس هیچ عکسی خونده نشه)
    اگه از Linq استفاده میکنید، شاید لازم باشه یک کوئری جدید بنویسید و یک لیست از یک کلاس جدید رو توی انتخاب بوجود بیارین. مثل:

    public class PersonelView
    {
    public int id{get;set}
    public string name{get;set;}
    //public string ...
    }
    //..
    public List<PersonelView> GetPersonelList()
    {
    var q=from p in db.Personels
    select new PersonelView()
    {
    id=p.ID,
    name=p.Name,
    //...
    };
    return q.ToList();
    }

  7. #7

    نقل قول: پرشدن فضای رم

    نقل قول نوشته شده توسط behzadkhan مشاهده تاپیک
    با سلام

    امیدوارم مشکلت حل بشه:

    ==============================================

    هنگام رویداد بسته شدن هر فرمی آن فرم را this.Dispose کن.

    یا

    از این دستور در لود هر فرم استفاده کن:


    GC.Collect();
    GC.WaitForPendingFinalizers();

    اولین کد شما باعث شد کل برنامه بسته بشه دومین هم کار خواصی نکرد همون فضا آزاد نشد!

  8. #8

    نقل قول: پرشدن فضای رم

    نقل قول نوشته شده توسط Rejnev مشاهده تاپیک
    من هم همین مشکل رو داشتم...
    مشکل از عکس هاست.
    برای اطمینان از حرفم کافیه لود عکس ها رو حذف کنید و دوباره امتحان کنید. (یعنی از دیتابیس هیچ عکسی خونده نشه)
    اگه از Linq استفاده میکنید، شاید لازم باشه یک کوئری جدید بنویسید و یک لیست از یک کلاس جدید رو توی انتخاب بوجود بیارین. مثل:

    public class PersonelView
    {
    public int id{get;set}
    public string name{get;set;}
    //public string ...
    }
    //..
    public List<PersonelView> GetPersonelList()
    {
    var q=from p in db.Personels
    select new PersonelView()
    {
    id=p.ID,
    name=p.Name,
    //...
    };
    return q.ToList();
    }
    فکر نکنم مربوط به لود عکس ها باشه آخه رو ویندوز 7 این مشکل نیست اصلا همیشه این فرم که عکس توش هست باز نمیشه ولی باز این اتفاق می افته!

  9. #9
    کاربر دائمی
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    تهران
    پست
    437

    نقل قول: پرشدن فضای رم

    سلام

    دوست عزیز ظاهرا مشکل شما هنوز برطرف نشده:

    ============================================

    یک راه زمان بر:

    (در ویندوز xp) شما باید برنامه taskmanager را باز بزارید و در قسمت های مختلف برنامه حرکت کنید و در اون قسمتی که می بینید حافظه برنامه در حال افزایش است متوجه می شوید که ایراد از این قسمت یا قسمت هاست.

    و بعد کد اون قسمت را بررسی می کنید.

    حالا trace را فقط در آن قسمت انجام می دهید و دقیقا محلش را پیدا می کنید.

    بعد اگر توانستید حل می کنید.

    در غیر این صورت به سایت ارجاع می دهید.

    با تشکر

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

  1. سوال: خطای پر شدن فضای سایت
    نوشته شده توسط .fatemeh در بخش PHP
    پاسخ: 15
    آخرین پست: دوشنبه 19 فروردین 1392, 12:20 عصر
  2. سوال: خارج شدن از فضای div و به هم ریختگی قالب
    نوشته شده توسط hamed_hossani در بخش طراحی وب (Web Design)
    پاسخ: 1
    آخرین پست: چهارشنبه 29 آذر 1391, 22:48 عصر
  3. سوال: پر شدن سریع فضای هاست
    نوشته شده توسط .fatemeh در بخش PHP
    پاسخ: 3
    آخرین پست: شنبه 29 بهمن 1390, 13:02 عصر
  4. بیشتر شدن فضای اشغال شده در رم توسط برنامه به مرور زمان
    نوشته شده توسط alaveh در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 11
    آخرین پست: پنج شنبه 03 آذر 1390, 11:40 صبح
  5. Proxy Switch جهت افزایش سرعت و مخفی شدن در اینترنت
    نوشته شده توسط SyntaxCheck در بخش امنیت در شبکه
    پاسخ: 8
    آخرین پست: یک شنبه 09 بهمن 1384, 16:06 عصر

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

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

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