SORU
24 Kasım 2012, CUMARTESİ


Current zaman uyumsuz / çalışmak için hazır bekliyor

Zaman uyumsuz entegre / servis otobüsü beklemek için çalışıyorum. Bir SingleThreadSynchronizationContext bu örneğe dayanarak http://blogs.msdn.com/b/pfxteam/archive/2012/01/20/10259049.aspx uygulanmaktadır.

Ve gayet iyi çalışıyor, bir şey hariç : Current. Bu Current iç malzeme için bekliyorum ve Current kırın.

Current thread ThreadStaticAttribute kullanarak bir şeyleri saklamak için / bekleyen zaman uyumsuz ile güzel oynamak için, kesinlikle görünüyor değil. Bu özel durum alıyorum : "Current yanlış iç içe geçmiş"..

Görev sıralama önce Current verileri kaydetmek ve geri çalıştırmadan önce denedim ama hiçbir şey değiştirmek gibi görünüyor değil mi. Ve Current kod bir karmaşa, gerçekten zor. neler olup bittiğini anlamak için.

Bir yol çalışması var mı ? Current dışında bir alternatif var mı ?

CEVAP
8 Temmuz 2013, PAZARTESİ


.NET Çerçeve 4.5.1, al new constructors for TransactionScope bir dizi varTransactionScopeAsyncFlowOptionparametre.

Bu Senior, iplik devamı üzerinde işlem akışı sağlar.

Anladığım kadarıyla bu kodu (ben henüz denemedim) yazmak için izin vermek için tasarlanmıştır:

// transaction scope
using (var scope = new TransactionScope(... ,
  TransactionScopeAsyncFlowOption.Enabled))
{
  // connection
  using (var connection = new SqlConnection(_connectionString))
  {
    // open connection asynchronously
    await connection.OpenAsync();

    using (var command = connection.CreateCommand())
    {
      command.CommandText = ...;

      // run command asynchronously
      using (var dataReader = await command.ExecuteReaderAsync())
      {
        while (dataReader.Read())
        {
          ...
        }
      }
    }
  }
  scope.Complete();
}

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • eyes4beautee

    eyes4beautee

    17 HAZİRAN 2011
  • Kamikazeepanda

    Kamikazeepan

    5 ŞUBAT 2006
  • TokShogun

    TokShogun

    6 HAZİRAN 2009