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

نام تاپیک: مصرف بیش از حد منابع سیستم در ارتباط با دیتابیس

  1. #1

    مصرف بیش از حد منابع سیستم در ارتباط با دیتابیس

    سلام
    من یه برنامه نوشتم که داخلش از DataSet برای اتصال به دیتابیسم استفاده کردم
    و یک DataSet.xsd داخل برنامه ساختم و داخل اون تیبل های دیتابیسم رو اضافه کردم
    و هر جدولی یک سری تابع insert update delete و select بصورت پیشفرض ساخته و من از اونا استفاده میکنم!

    منتها الان وقتی داخل یک تایمر میخوام اطلاعاتی رو داخل دیتابیس چک کنم و وارد کنم و حذف کنم cpu usage میره روی 100 درصد و تقریبا برنامه هنگ میکنه
    آیا روش من اشتباهه؟

    دیتابیس من هم sql server 2008 هست
    ممنون

  2. #2

    نقل قول: مصرف بیش از حد منابع سیستم در ارتباط با دیتابیس

    تایمر هر چند مدت یک بار به دیتابیس سرمیزنه ؟؟
    و ایا بهتر نیست از background ها استفاده کنی

  3. #3

    نقل قول: مصرف بیش از حد منابع سیستم در ارتباط با دیتابیس

    نقل قول نوشته شده توسط mousa1992 مشاهده تاپیک
    تایمر هر چند مدت یک بار به دیتابیس سرمیزنه ؟؟
    و ایا بهتر نیست از background ها استفاده کنی
    2 ثانیه یک بار
    در حد 25 کوئری ارسال میکنه!
    سوال من اینه که آیا کاری که من کردم و از dataset استفاده کردم کار درستی هست یا نه؟
    روش اصولیش چیه؟

  4. #4
    کاربر تازه وارد
    تاریخ عضویت
    آذر 1387
    محل زندگی
    irantopweb@gmail.com----تهران
    پست
    39

    نقل قول: مصرف بیش از حد منابع سیستم در ارتباط با دیتابیس

    کوئر ی ها تو بزار ببینیم

  5. #5

    نقل قول: مصرف بیش از حد منابع سیستم در ارتباط با دیتابیس

    روش اصولی برای این کار از استفاده از ENTITY FRAMEWORK هست و مورد دیگه استفاده از تایمر برای انجام این کار درست نیست تایمر چک نمیکنه که آیا این چند درخواستی که شما به دیتا بیس ارسال کردین انجام شده یا نه.
    برای اینکار میتونید از BACKGROUNDWORKER استفاده کنید که کارهاتون رو منتقل کنه به یک ترد دیگه.

  6. #6

    نقل قول: مصرف بیش از حد منابع سیستم در ارتباط با دیتابیس

    نقل قول نوشته شده توسط alitavakoli مشاهده تاپیک
    روش اصولی برای این کار از استفاده از ENTITY FRAMEWORK هست و مورد دیگه استفاده از تایمر برای انجام این کار درست نیست تایمر چک نمیکنه که آیا این چند درخواستی که شما به دیتا بیس ارسال کردین انجام شده یا نه.
    برای اینکار میتونید از BACKGROUNDWORKER استفاده کنید که کارهاتون رو منتقل کنه به یک ترد دیگه.
    ممنون میشه یه نمونه رو مثال بزنید؟
    یا یه سمپل کد ساده بدید که از اون الهام بگیرم
    ممنون

  7. #7

    نقل قول: مصرف بیش از حد منابع سیستم در ارتباط با دیتابیس

    در ضمن من اگه الان بخوام به entity framework کوچ کنم ، پروژه ام چقدر باید تغییر کنه؟ با توجه به اینکه از dataset استفاده کردم!

  8. #8

    نقل قول: مصرف بیش از حد منابع سیستم در ارتباط با دیتابیس

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

    foreach(item in AllData)
    {
    using (StorageEntities context = new StorageEntities())
    {
    //Insert

    _CustomerProductTbl = new CustomerProductTbl();
    _CustomerProductTbl.CustomerId = AllData ._CustomerId;
    _CustomerProductTbl.CustomerProductDateFa = AllData.datefa;
    ClsDataBase.Database.AddToCustomerProductTbls(_Cus tomerProductTbl);
    }
    ClsDataBase.Database.SaveChanges();
    }
    }


    این یک مثال ساده هست البته برای اینکه فرمتون به اصطلاح فریز یا همون هنگ نکنه میتونید این عملیات رو بفرستید داخل یک ترد دیگه:
    آخرین ویرایش به وسیله mmd2009 : دوشنبه 01 آبان 1391 در 20:26 عصر دلیل: تبلیغ غیر مجاز

  9. #9

    نقل قول: مصرف بیش از حد منابع سیستم در ارتباط با دیتابیس

    برای کوچ به ef زمان خیلی کمی میبره
    فقط کافیه دیتا بیستون رو مدل کنید:
    و دستورات linq رو یاد بگیرید
    آخرین ویرایش به وسیله mmd2009 : دوشنبه 01 آبان 1391 در 20:25 عصر دلیل: تبلیغ غیر مجاز

  10. #10

    نقل قول: مصرف بیش از حد منابع سیستم در ارتباط با دیتابیس

    منظورم از مثال BACKGROUNDWORKER بود!

  11. #11

    نقل قول: مصرف بیش از حد منابع سیستم در ارتباط با دیتابیس

    اصلاً شما به چه هدفی تایمر استفاده می کنی؟
    اگه قصدت اینه که تغییرات سایر کاربران رو به برنامه منعکس کنی اون هم در بازه دو ثانیه بسیار کار اشتباهی می کنی.
    شما باید از Service Broker و SqlDependency برای رفرش اطلاعات در سمت کلاینت استفاده کنی. وقتی اطلاعاتی در بانک ثبت میشه اتوماتیک به برنامه سیگنال می ده.

    با عنوان رفرش دیتاگرید سرچ کن.

  12. #12

    نقل قول: مصرف بیش از حد منابع سیستم در ارتباط با دیتابیس

    ممنون
    برنامه ی نمونه اش هم هست که ببینم چطوری کار میکنه؟
    چون کلاینت های من 400 عدده و دارن همزمان دیتای جدید میفرستن
    با این سیگنال ها مشکلی برای برامه پیش نمیاد؟

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

  1. ارتباط با دیتابیس در سیستم دیگر با یک خط تلفن
    نوشته شده توسط hnosen در بخش C#‎‎
    پاسخ: 1
    آخرین پست: یک شنبه 09 بهمن 1390, 12:04 عصر
  2. حذف یک متغیر یا شی و آزاد سازی منابع سیستم
    نوشته شده توسط hossein-khoshseyar در بخش VB.NET
    پاسخ: 2
    آخرین پست: شنبه 14 آبان 1390, 12:25 عصر
  3. سوال: مستندات یا اطلاعاتی درباره تحلیل سیستم مدیریت ارتباط با مشتری - CRM
    نوشته شده توسط اوبالیت به بو در بخش تحلیل و طراحی نرم افزار
    پاسخ: 0
    آخرین پست: شنبه 14 خرداد 1390, 17:42 عصر
  4. کد کردن منابع سیستم
    نوشته شده توسط azam2005 در بخش ASP.NET Web Forms
    پاسخ: 4
    آخرین پست: چهارشنبه 30 خرداد 1386, 10:39 صبح

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

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