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

نام تاپیک: زمان استفاده از Async در mvc core

  1. #1

    زمان استفاده از Async در mvc core

    سلام

    دوستان برای یک ریپازیتوری عمومی متدها رو بصورت Async بنویسم بهتر هست یا بصورت ساده ؟ و در کنترلر فراخوانی رو بصورت async انجام بدم ؟ ممنون

    public async Task Add(TEntity entity)
    {
    await _dbContext.Set<TEntity>().AddAsync(entity);

    }


    یا

        public void Add(TEntity entity)
    {
    _dbContext.Set<TEntity>().Add(entity);
    }

  2. #2
    کاربر دائمی آواتار ali_md110
    تاریخ عضویت
    فروردین 1385
    محل زندگی
    شیراز
    پست
    1,181

    نقل قول: زمان استفاده از Async در mvc core

    این لینک ابتدا بخونید
    https://barnamenevis.org/showthread.php?547762
    و جهت تکمیل لینک بالا
    هر زمان یک متدی دارید که درون اون فقط یک لیست و یا بهتر بگم فقط یک کوئری TolistAsync دارید نیاز به تعریف async در تعریف امضای متد نیستیم و همچنین await در بدنه کد نیست


    مثلا اگر تابعی دارید بدینصورت

    public async Task GetAllAsync()
    {
    var list=await dbcontext.person.ToListAsync();
    var list2=await dbcontext.persondetails.ToListAsync();
    foreach(var p in list)
    var li=list2.first(x=> x.id=p.id);
    }



    چون در این تابع از جدول person واکشی کردیم وبلافاصله به نتیجه اون در همین متد نیاز داریم مجبوریم از async و await در این متد استفاده کنیم کامپایلر هم به ما هشدار میدهد
    ولی اگر یک متد داریم که فقط یک tolist دارد و در سایر متدها ی دیگر قابل استفاده میکنیم جهت سربار کمتر امضای متد را بدون async تعریف و await را هم از بدنه کد حذف کنید
    و هنگام صدا زدن کافیه قبل از متد await را بکار ببریم

    Task List<Person>Get()
    {
    return dbcontext.persons.ToListAsync();
    }


    روش صدا زدن

    async Task CallMetod()
    {
    var i=await Get()
    }



  3. #3

    نقل قول: زمان استفاده از Async در mvc core

    خیلی ممنونم

    در واقع منظورتون اینه که نتیجه متد get رو بصورت Async برگردونیم مثل این مورد درسته؟


    public async Task<IActionResult> Index()
    {
    var qMenu = await Task.FromResult(_repository.Get());
    return View("Index", qMenu);
    }

  4. #4
    کاربر دائمی آواتار ali_md110
    تاریخ عضویت
    فروردین 1385
    محل زندگی
    شیراز
    پست
    1,181

    نقل قول: زمان استفاده از Async در mvc core

    Task.FromResult زمانی استفاده میکنیم که بخواهیم نتیجه انی یک Task را بگیریم مثلا یک متد async که یک مقدار عددی بر میگرداند
    بهتر ست برای متدهای لیستی بدین روش بکار ببریم

    public async Task<IActionResult> Index()
    {
    var qMenu = await _repository.Get();
    return View("Index", qMenu);
    }

  5. #5

    نقل قول: زمان استفاده از Async در mvc core

    public async Task<IActionResult> Index()
    {
    var qMenu = await _repository.Get();
    return View("Index", qMenu);
    }


    ممنون . خب اگه من کد رو به این صورت بنویسم این ارور رو دارم :


    'Group' does not contain a definition for 'GetAwaiter' and no extension method 'GetAwaiter' accepting a first argument of type 'Group' could be found (are you missing a using directive or an assembly reference?)



    group هم که کلاسی هست که براش ریپازیتوری ساختم

  6. #6
    کاربر دائمی آواتار ali_md110
    تاریخ عضویت
    فروردین 1385
    محل زندگی
    شیراز
    پست
    1,181

    نقل قول: زمان استفاده از Async در mvc core

    متد Get به درستی به صورت asyncپیاده سازی نشده
    لطفا کدهاشو ارسال کنید

  7. #7

    نقل قول: زمان استفاده از Async در mvc core

    نقل قول نوشته شده توسط ali_md110 مشاهده تاپیک
    متد Get به درستی به صورت asyncپیاده سازی نشده
    مرسی. پست قبلی شما رو اشتباه برداشت کرده بودم متد رو بدون async نوشته بودم . ممنون

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

  1. استفاده از template در mvc
    نوشته شده توسط RIG000 در بخش ASP.NET MVC
    پاسخ: 4
    آخرین پست: دوشنبه 15 مهر 1392, 10:29 صبح
  2. سوال: اخطار در زمان استفاده از پارامترها در دستورات SQL
    نوشته شده توسط cisco ++ در بخش C#‎‎
    پاسخ: 6
    آخرین پست: پنج شنبه 27 تیر 1392, 21:37 عصر
  3. استفاده از aspnet_regsql در MVC
    نوشته شده توسط Wily_Fox در بخش ASP.NET MVC
    پاسخ: 5
    آخرین پست: دوشنبه 10 تیر 1392, 19:51 عصر
  4. نوشتن چت با استفاده از Socket در mvc
    نوشته شده توسط zahramc در بخش ASP.NET MVC
    پاسخ: 5
    آخرین پست: شنبه 02 دی 1391, 14:09 عصر
  5. سوال: عدم انجام binding زمان استفاده از آن در code-behind
    نوشته شده توسط teardrop در بخش WPF
    پاسخ: 3
    آخرین پست: یک شنبه 30 بهمن 1390, 10:18 صبح

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

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