تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 2 از 2

نام تاپيک: Progress در Write/Read آسنکرون

  1. #1
    کاربر فعال تالار .Net Msba's Avatar
    تاريخ عضويت
    Dec 2006
    محل سكونت
    ! My Mind
    پست ها
    506

    14 Progress در Write/Read آسنکرون

    سلام.
    من جایی در برنامه این طوری نوشتم:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    حتی در جاهایی تا 7 برابر این آرایه می بایست خوانده یا نوشته شود. مشکل زمان بر بودن است. لذا یک Progress برای کاربر الزامی است. اما این متد ها فیدبکی برای Progress نمی دهند.
    نت رو گشتم چیزی پیدا نکردم. یکی یه جا گفته بود باید از متد System.Reactive.Linq.Observable.FromAsyncPattern استفاده کنی.
    من نتونستم بفهمم چطوری....
    فضای نام Reactive رو باید دانلود کنید از [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    شاید راه حل هم این نباشد.(من اصلا از کلاس هاش سردر نیاوردم.)
    شاید هم بگید که این حجم اطلاعات اصلا اشتباه هست که این گونه کار شود. مسلما حرف شما را قبول دارم. اما فرض کنید که راهی نداریم........



    ممنون.
    Last edited by Msba; 11-08-2012 at 21:18.

  2. #2
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    عید سعید فطر را به تمام دوستان و اعضای سایت تبریک عرض میکنم.

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

    شما باید تفکر جریان گرا داشته باشید و آن را در کار خودتان لحاظ کنید.
    شما نباید کل عملیات تان را در یک بلوک و یک بافر انجام دهید.

    این بدان معناست که شما نمیتوانید فایل 80GB که در هارد من است را در یک سری و با یک تخصیص بافر، بخواهید کپی یا فشرده یا رمزنگاری یا دانلود یا ... کنید!
    بلکه باید این کار را به اجزای کوچکی بشکنید و در بسته های کوچک انجام دهید.
    مثلاً 8KB ... 8KB ... 8KB ...
    این یعنی عدم فشار به حافظه، یعنی حلقه، یعنی "نوار پیشرفت" ، یعنی قابلیت "لغو عملیات" و...


    (((یک ساختمان را با روی هم گذاشتن آجر به آجر میسازند، هر چند آجرها کوچک باشد)))

    این تفکر جریان گرایی است.

    با این شیوه مشکل "نوار پیشرفت" تان هم حل میشود، زیرا هم سایز فایل اولیه و هم مقدار پردازش شده آن را دارید.

    برای نمونه کد به این پست قدیمی مراجعه کنید که فایلی را با همین تفکر از جایی به جای دیگر کپی میکند و توانایی نمایش درصد پیشرفت را هم دارد.
    حجم بافر این کد 128KB است ولی اگر شما عددش را به 8KB هم تغییر دهید، خواهید دید بدون مشکل میتواند فایلهای چند ده گیگی را کپی کند.
    بررسی کنید و تلاشی داشته باشید، پس از آن اگر مشکلی بود بفرمائید.
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]

    موفق باشید.

  3. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •