SORU
15 Mayıs 2013, ÇARŞAMBA


Kullanarak deyimleri ve kelimeleri güzel c oyun bekliyor#

async bir Ara IDisposable örnek döndüren bir yöntem ve yapıyorum nerede bir durum var. Örneğin:

HttpResponseMessage response = await httpClient.GetAsync(new Uri("http://www.google.com"));

Şimdi async IDisposable bir örneği, kullanılan bu arama kodu ile "tepki" değişkeni kullanarak bir açıklama sarılmış olur. çalışırken sahnesi vardı, önce

Soruma hala async anahtar mix atıldığında doğru yaklaşım olup olmadığıdır? Kodu derlerken bile kullanarak ifade yine de bu örneklerde beklendiği gibi çalışır mı?

Örnek 1

using(HttpResponseMessage response = await httpClient.GetAsync(new Uri("http://www.google.com")))
{
    // Do something with the response

    return true;
}

Örnek 2

using(HttpResponseMessage response = await httpClient.GetAsync(new Uri("http://www.google.com")))
{
    await this.responseLogger.LogResponseAsync(response);

    return true;
}

CEVAP
15 Mayıs 2013, ÇARŞAMBA


Evet, bu iyi olabilir.

İlk durumda, yani demek istediğin:

  • Uyumsuz kadar bekleyin yanıt alabiliriz
  • Bunu kullanın ve hemen atın

İkinci durumda, diyorsun ki:

  • Uyumsuz kadar bekleyin yanıt alabiliriz
  • Uyumsuz yanıt açmış çıkana kadar bekleyin
  • Yanıt olarak atın

using deyim, bir zaman uyumsuz yöntem "garip" o Dispose diyebilir yürütmek farklı bir iş parçacığı için bir kazanılmış kaynak (bağlı olarak senkronizasyon bağlamı vs.) ama bu yine de olur... varsayarak şey bekliyorsunhiçgeldi ya, tabii ki başarısız. (using ifadeni asla döndüren bir yöntem çağrısı içeriyorsa, sadece sigara-zaman uyumsuz kod Dispose arama sona ermeyecek gibi.)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Andrew_Huang

    Andrew_Huang

    10 ŞUBAT 2006
  • BigDawsVlogs

    BigDawsVlogs

    17 HAZİRAN 2013
  • LounaTutorials

    LounaTutoria

    10 EYLÜL 2009