none
await Task Delay Kullanımı RRS feed

  • Soru

  • Merhaba Abiler,

    Bir uygulamamda 10 sn. aralık ile bir kontrol sağlamam gerekiyor timer yerine await Task Delay kullanmak istiyorum formun loadına aşağıdaki kodu yazdım fakat tek bir sefer çalışıyor 5 sn bir çalışmıyor ne yapabilirim yada farklı birşey.

    13 Temmuz 2016 Çarşamba 10:34

Yanıtlar

  • Delay gecikme demek, tekrar tekrar çalışmaz ki bi kere çalışır, eğer Delay ile timer benzeri bişey yapıyosan kendini tekrar çağırmalı. Örnek;

    private async void Birİş()
    {
      await Task.Delay(TimeSpan.FromSeconds(10)).ContinueWith(()=>   {
           //işler işler 
    
          //en son kendini çağırmalı.
          Birİş();
      });
    }


    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com


    13 Temmuz 2016 Çarşamba 11:29
    Moderatör

Tüm Yanıtlar

  • Aşşağıdaki kod ? 

    10 Sn demişsin sonra 5 sn demişsin belkide sorudaki gibi bir hata yapıyorsun kodda ondan çalışmıyordur. :)

    13 Temmuz 2016 Çarşamba 10:44
  • Delay gecikme demek, tekrar tekrar çalışmaz ki bi kere çalışır, eğer Delay ile timer benzeri bişey yapıyosan kendini tekrar çağırmalı. Örnek;

    private async void Birİş()
    {
      await Task.Delay(TimeSpan.FromSeconds(10)).ContinueWith(()=>   {
           //işler işler 
    
          //en son kendini çağırmalı.
          Birİş();
      });
    }


    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com


    13 Temmuz 2016 Çarşamba 11:29
    Moderatör
  • Teşekkür ederim Önay abi yardımlarınızdan dolayı. sizede teşekkür ederim A_BLR abim
    13 Temmuz 2016 Çarşamba 13:31
  • Biriş()'in durmasını istiyorsak kendini çağırdığı halde bu nasıl olacak connect dedik  disconnect? 


    okumaya başladı 

       public async void Start()
            {
                await Task.Delay(10).ContinueWith(async _ =>
                {
     var result = await Read(modbusadres1, 20);

                    DataReceived?.Invoke(this, new ReceivedEventArgs { Data = result });
                    Start();
                });

            }

            public async Task<int[]> Read(int start, int count)
            {

                return await Task.Run(() => client.ReadHoldingRegisters(start, count));


            }

    ya disconnect ?

                              
    10 Eylül 2021 Cuma 23:04