• 19-08-2012, 04:53:06
    #11
    sıkıntı varsa söyleyebilirsin ? ya da anlamadığın noktalar v.s.
  • 19-08-2012, 08:42:00
    #12
    ertan2002 adlı üyeden alıntı: mesajı görüntüle
    sıkıntı varsa söyleyebilirsin ? ya da anlamadığın noktalar v.s.
    İngilizce olmadığı için google translate ile okumaya çalıştım ama birşey anladığım konusunda şüphelerim var
  • 19-08-2012, 12:50:18
    #13
    Tamamhocam uygun bir zamanda ceviririm bu makaleyi
  • 19-08-2012, 13:13:23
    #14
    ertan2002 adlı üyeden alıntı: mesajı görüntüle
    Tamamhocam uygun bir zamanda ceviririm bu makaleyi
    Hakkını ödememiz çok zor gerçekten. Çok çok teşekkürler...

    Bu arada Hayırlı bayramlar
  • 19-08-2012, 17:16:48
    #15
    connection acmamissiniz. using ile dispose ayni sey degil mi?
    connection.open();
    execute
    connection.close();
  • 19-08-2012, 17:51:06
    #16
    Elroy adlı üyeden alıntı: mesajı görüntüle
    connection acmamissiniz. using ile dispose ayni sey degil mi?
    connection.open();
    execute
    connection.close();
    O işlemleri farklı bir satırda yapıyorum. İşlem her 300 ms de bir geçekleştiği içinde kapatmıyorum connection'ı..
  • 19-08-2012, 18:15:22
    #17
    disconnected bağlantı bu iş için uygun değildir.

    senin ve diğer tüm arkadaşların bayramını kutlarım
  • 19-08-2012, 23:39:47
    #18
    c# kodu:
    Alıntı
    using (StreamReader reader = new StreamReader(".txt"))
    {
    reader.ReadToEnd();
    }
    Üretilen CIL kodu:
    Alıntı
    .entrypoint
    // Code size 41 (0x29)
    .maxstack 2
    .locals init ([0] class [mscorlib]System.IO.StreamReader reader,
    [1] bool CS$4$0000)
    IL_0000: nop
    IL_0001: ldstr ".txt"
    IL_0006: newobj instance void [mscorlib]System.IO.StreamReader::.ctor(string)
    IL_000b: stloc.0
    .try
    {
    IL_000c: nop
    IL_000d: ldloc.0
    IL_000e: callvirt instance string [mscorlib]System.IO.TextReader::ReadToEnd()
    IL_0013: pop
    IL_0014: nop
    IL_0015: leave.s IL_0027
    } // end .try
    finally
    {
    IL_0017: ldloc.0
    IL_0018: ldnull
    IL_0019: ceq
    IL_001b: stloc.1
    IL_001c: ldloc.1
    IL_001d: brtrue.s IL_0026
    IL_001f: ldloc.0
    IL_0020: callvirt instance void [mscorlib]System.IDisposable:ispose()
    IL_0025: nop
    IL_0026: endfinally
    } // end handler
    IL_0027: nop
    IL_0028: ret
    C# kodu:
    Alıntı
    StreamReader reader = new StreamReader(".txt");
    try
    {
    reader.ReadToEnd();
    }
    finally
    {
    reader.Dispose();
    }
    Üretilen CIL kodu:
    Alıntı
    .entrypoint
    // Code size 35 (0x23)
    .maxstack 2
    .locals init ([0] class [mscorlib]System.IO.StreamReader reader)
    IL_0000: nop
    IL_0001: ldstr ".txt"
    IL_0006: newobj instance void [mscorlib]System.IO.StreamReader::.ctor(string)
    IL_000b: stloc.0
    .try
    {
    IL_000c: nop
    IL_000d: ldloc.0
    IL_000e: callvirt instance string [mscorlib]System.IO.TextReader::ReadToEnd()
    IL_0013: pop
    IL_0014: nop
    IL_0015: leave.s IL_0021
    } // end .try
    finally
    {
    IL_0017: nop
    IL_0018: ldloc.0
    IL_0019: callvirt instance void [mscorlib]System.IO.TextReader:ispose()
    IL_001e: nop
    IL_001f: nop
    IL_0020: endfinally
    } // end handler
    IL_0021: nop
    IL_0022: ret
    CIL kodlarından da anlaşılacağı gibi aslında try finally blok kullanımı ile using kullanımı arasında büyük farklar yoktur. sadece using direktifi kullanıldığında obje dispose edildiyse finally blogundan çıkılıyor. Bu da exception safety sağlayabilir. Tabiki her execute işlemine finally kullanmak amelasyon olacağı için (Her execute işleminin aynı method üzerinden yapılacağı bir methodu yazmadıysanız) using kullanmak mantıklı olacaktır.

    Probleminize gelirsek:
    Sorun server-side bir problem gibi duruyor. Kullandığınız Foreign Key'lerin çokluğu, veri bütünlüğünün bozulmuş olması, index tanımlaması yaptıysanız bu tanımın değişmiş olabileceği, tabloların relation durumlarının karışık olması, sunucunuz ile sql sunucunuz farklıysa aradaki bağlantı durumu vs vs gibi nedenlerden dolayı time-out alıyor olabilirsiniz. Bunların yanında SQL sunucunuzdan direk olarak sp execute yaparak çalışma zamanını kontrol ediniz. Sorun yok ise kodda optimizasyona gidebilirsiniz.