|
|
Yayınlandı 29.04.2019 15:50:02
|
|
|
|

Yönetilmeyen istisna: System.InvalidOperationException: Zaman aşımının süresi doldu. Mola süresi doldu, ancak bağlantı henüz havuzdan alınmadı. Bunun nedeni, tüm havuz bağlantılarının kullanımda olması ve maksimum havuz büyüklüğüne ulaşılmış olmasıdır.
Bu, tüm havuz bağlantılarının kullanımda olması ve maksimum havuz büyüklüğüne ulaşılması nedeniyle gerçekleşebilir.
Çözüm:
İlk yapılacak şey, bağlantıyı kullandığımız anda kapatmaktır. Bağlantı kapatılmazsa, bağlantı bağlantı havuzuna kaydedilir ve GC'nin yok olduğu bilinir. Bu durumda, bağlantı havuzunun maksimum değere ulaşmadığını düşünüyorsunuz, ancak aslında bağlantı havuzu maksimum değere ulaşmıştır, ikincisi, bağlantı dizisinde Max Pool Boyutu = N kullanılabilir; bağlantı havuzundaki maksimum bağlantı sayısını dinamik olarak genişletmek için.
Göstermek:
Yani, connectionString'de maksimum havuz büyüklüğünün değeri belirtilmemişse,O zaman maksimum havuz boyutu=100Veritabanına ziyaretçi sayısı 101 ise, SqlConnection.ConnectionTimeout tarafından belirlenen zamanı bekledikten sonra hâlâ kullanılabilir Bağlantı yoksa (varsayılan süre 15 saniyedir) yukarıdaki hata ortaya çıkar.
Ne zaman başladığımızda:
Veritabanına aynı anda bağlanan ziyaretçi sayısı 513 ise, yukarıdaki hata SqlConnection.ConnectionTimeout tarafından belirlenen zamanı bekledikten sonra hâlâ kullanılabilir Bağlantı yoksa (varsayılan olarak 15 saniyedir) meydana gelir.
|
Önceki:HttpDinleyici, belirtilen İçerik Uzunluğu bayt boyutunun ötesinde akışa baytlar yazarÖnümüzdeki:WeChat koleksiyon izleme, kaynak kodu + modül kimde var?
|