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

نام تاپیک: شما در برنامه هاتون مرتبا قطع و وصل میشین؟

  1. #1

    Question شما در برنامه هاتون مرتبا قطع و وصل میشین؟

    سلام
    در برنامه هاتون(ترجیحا تحت شبکه) آیا بعد از هربار Fill کردن، از دیتابیس Disconnect میشین و در مواقع لزوم دوباره کانکت میشین یا یکبار کانکت میشین و در هنگام بسته شدن برنامه Disconnect ؟

  2. #2

    نقل قول: شما در برنامه هاتون مرتبا قطع و وصل میشین؟

    اساس ado.net بر پای روش غیر متصل است .

  3. #3

    نقل قول: شما در برنامه هاتون مرتبا قطع و وصل میشین؟

    داوود جان، میتونین یه لینکی ارائه کنید که این حرفتون رو نوشته باشه؟

    من اخیرا توی یه شرکتی کار میکنم که میخواد برنامه تحت شبکه با 4000 یوزر بنویسه... از کلاسی که خودشون نوشتن استفاده میکنن که

    clsDataAccess= new classDataAccess()
    FillTextBox(txtFirstName);
    FillTextBox(txtLastName);

    یه بار کانکت میشه، دیتاست رو فیل میکنه؛ فیلدی رو به یه آبجکت مثل TextBox متصل میکنه. دیسکانکت میشه. باز دوباره کانکت میشه، فیل میکنه و به گرید متصل میشه و الی آخر

    من اصلا نمیتونم قبول کنم که واسه هر آبجکت روی فرم و واسه هر عمل Select باید یکبار به سرور کانکت بشه، select بکنی و دوباره DC بشی... و انتظار داشته باشیم که چهار هزار یوزر بدون افت سرعت و بی نقص کار کنن.

    اما اونا ادعا میکنن که این بهترین روشه...

  4. #4

    نقل قول: شما در برنامه هاتون مرتبا قطع و وصل میشین؟

    به نظر من اونا ادعاي درستي ميكنن.
    موقعي كه بحث سر ارتباطات زياد بين يوزر ها و پايگاه داده هست، بهتره براي اينكه تعداد كاربران استفاده كننده از ديتابيس همزمان زياد نشه، كانكشن موقعي باز باشه كه لازمه و بعد بلافاصله بسته شه.
    نگران هزينه اتصال مجدد به ديتابيس نباشين.
    SQL Server تكنيكي به نام Connection Pooling داره كه هنگام اتصال مجدد يك ConnectionString ثابت، تنظيمات و داده هاي مورد نظرشو سريعتر لود ميكنه، يعني اصلا از حافظه خارج نمي كنه.

  5. #5

    نقل قول: شما در برنامه هاتون مرتبا قطع و وصل میشین؟

    بهتر نیست یکبار که DataSet رو پر کردیم، Binding رو انجام بدیم به جای اینکه به ازای هر آبجکت، Select کنیم و ترافیک رو بالا ببریم؟

  6. #6

    نقل قول: شما در برنامه هاتون مرتبا قطع و وصل میشین؟

    چرا.
    اگه اونا اين كارو كرده باشن بايد بگم كار احمقانه اي كردن.
    ولي تا سورسشون رو نديديم نبايد قضاوت كنيم.
    شايد تو سازنده كلاسشون ، ديتاست رو پر كردن و با اون توابع از ديتاست مقدار ميگيرن.

  7. #7

    نقل قول: شما در برنامه هاتون مرتبا قطع و وصل میشین؟

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

  8. #8

    نقل قول: شما در برنامه هاتون مرتبا قطع و وصل میشین؟

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

    ببخشید بعد از جواب دادن فهمیدم که آخرین پست برای یک ماه پیش هست.

  9. #9

    نقل قول: شما در برنامه هاتون مرتبا قطع و وصل میشین؟

    برای هر آبجکت یه بار عملیات وصل شدن به دیتابیس
    راه حل شما چه؟

    اگه ميشه ادامه بدين.

  10. #10

    نقل قول: شما در برنامه هاتون مرتبا قطع و وصل میشین؟

    نقل قول نوشته شده توسط obalitjoOon مشاهده تاپیک
    راه حل شما چه؟

    اگه ميشه ادامه بدين.
    شما احتمالا متوجه نشدین که مشکل چیه!!!!!!!!
    بر فرض مثال اگه 10 تا textBox رو فرم داشته باشن ، 10 بار کانکشن رو باز و بسته میکنن.

  11. #11

    نقل قول: شما در برنامه هاتون مرتبا قطع و وصل میشین؟

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

  12. #12
    کاربر جدید
    تاریخ عضویت
    اسفند 1387
    محل زندگی
    سیرجان
    پست
    12

    Wink نقل قول: شما در برنامه هاتون مرتبا قطع و وصل میشین؟

    سلام
    معمولاً عاقلانه اینه که کانکشن رو باز نگه ندارن ولی اگه قراره توی یک فرم بارها یک دستور SQL اجرا بشه بهتره که کانکشن توی اون فرم باز بمونه چون هر بار کانکت شدن به دیتابیس سربار برای SQL ایجاد میکنه و با زیاد شدن یوزر ها این سربار هم زیاد میشه

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

    نقل قول: شما در برنامه هاتون مرتبا قطع و وصل میشین؟

    سلام
    من فکر می کنم جواب شما رو بلدم . من یاد گرفتم که با معماری سه لایه و شاید چهار لایه و یک کلاس مجزا برا ارتباط با پایگاه داده استفاده کنم . الگویی که استفاده می کنیم Facade هستش و تو اون بر نوع سازنده مون رو با استفاده از متد Single tone می سازیم که در این صورت دیگه نیازی نیست connection و ارتباط با سرور مرتبا بازو بسته شود چون متد single tone یک بار از این کلاس یک ابجکت می سازه و این رو بررسی می کنه اگه کانکشن بسته باشه می ره باز می کنه و اگه هم قبلا یه بار بازش کردیم همون رو حفظ می کنه و به این ترتیب ترافیک شبکه مون کلی میاد پایین .

    public static BaseClass bclass()
    {

    if (baseclass == null)
    {
    baseclass = new BaseClass();
    }
    return baseclass;

    }


    البته گفتم که داخل baseclass کلیه کارهایی که برا ارتباط با پایگاه داده نیاز هست قرار دادیم .

  14. #14

    نقل قول: شما در برنامه هاتون مرتبا قطع و وصل میشین؟

    نقل قول نوشته شده توسط L_eskandary مشاهده تاپیک
    سلام
    من فکر می کنم جواب شما رو بلدم . من یاد گرفتم که با معماری سه لایه و شاید چهار لایه و یک کلاس مجزا برا ارتباط با پایگاه داده استفاده کنم . الگویی که استفاده می کنیم Facade هستش و تو اون بر نوع سازنده مون رو با استفاده از متد Single tone می سازیم که در این صورت دیگه نیازی نیست connection و ارتباط با سرور مرتبا بازو بسته شود چون متد single tone یک بار از این کلاس یک ابجکت می سازه و این رو بررسی می کنه اگه کانکشن بسته باشه می ره باز می کنه و اگه هم قبلا یه بار بازش کردیم همون رو حفظ می کنه و به این ترتیب ترافیک شبکه مون کلی میاد پایین .

    public static BaseClass bclass()
    {

    if (baseclass == null)
    {
    baseclass = new BaseClass();
    }
    return baseclass;

    }

    البته گفتم که داخل baseclass کلیه کارهایی که برا ارتباط با پایگاه داده نیاز هست قرار دادیم .
    البته اين نكته رو هم در نظر بگيريد كه هيچ وقت تو پروژه هاي وب، اين كارو نكنين.
    چون تعداد كانكشن همزمان، محدوده و ممكنه در روند كار وب سايت، اختلال ايجاد كنه.

  15. #15

    نقل قول: شما در برنامه هاتون مرتبا قطع و وصل میشین؟

    من فکر می کنم جواب شما رو بلدم . من یاد گرفتم که با معماری سه لایه و شاید چهار لایه و یک کلاس مجزا برا ارتباط با پایگاه داده استفاده کنم . الگویی که استفاده می کنیم Facade هستش و تو اون بر نوع سازنده مون رو با استفاده از متد Single tone می سازیم که در این صورت دیگه نیازی نیست connection و ارتباط با سرور مرتبا بازو بسته شود چون متد single tone یک بار از این کلاس یک ابجکت می سازه و این رو بررسی می کنه اگه کانکشن بسته باشه می ره باز می کنه و اگه هم قبلا یه بار بازش کردیم همون رو حفظ می کنه و به این ترتیب ترافیک شبکه مون کلی میاد پایین .
    کد:
    public static BaseClass bclass() { if (baseclass == null) { baseclass = new BaseClass(); } return baseclass; }
    البته گفتم که داخل baseclass کلیه کارهایی که برا ارتباط با پایگاه داده نیاز هست قرار دادیم

    http://barnamenevis.org/showpo...6&postcount=22

    بنده از این روش در برنامه به قول شما 3 لایه استفاده کردم یعنی connection رو در constructor کلاس DB قرار دادم اما جناب mehdi6755 با این روش مخالفت کردن و دلایلشون هم(pm) کاملاً درست بود.
    مقاله:
    http://barnamenevis.org/attach...6&d=1240500476

    و:
    http://barnamenevis.org/showpo...23&postcount=5

  16. #16

    نقل قول: شما در برنامه هاتون مرتبا قطع و وصل میشین؟

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

    http://barnamenevis.org/showpo...6&postcount=22

    بنده از این روش در برنامه به قول شما 3 لایه استفاده کردم یعنی connection رو در constructor کلاس DB قرار دادم اما جناب mehdi6755 با این روش مخالفت کردن و دلایلشون هم(pm) کاملاً درست بود.
    مقاله:
    http://barnamenevis.org/attach...6&d=1240500476

    و:
    http://barnamenevis.org/showpo...23&postcount=5
    Single tone یک الگو هست ، میشه راجع به معایبش و دلایل آقا مهدی بیشتر صحبت کنید ؟
    در ضمن ما به لینکهای شما به دلیل Private بودن دسترسی نداریم.

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

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