2012-04-05 23 views
11

Arka plan: Uygulamamı mssql'den npgsql v2.0.11.92'ye taşıyorum. Uygulamamı çalıştırdıktan birkaç dakika veya bir saat sonra, havuzundan bağlantı alırken bir System.Exception: Timeout alıyorum.Npgsql: Havuzdan bağlantı alınırken zaman aşımı

x64 platformunda x86 ortamında lib sürüm 2.0.11.92 kullanıyorum. Tüm bağlantılar en sonunda bloke edilir ve bertaraf edilir, ancak bir süre sonra hatayı alırım. Yani, Npgsql kütüphanesi bir sorun olmalı. Benim uygulamada

, her birkaç saniyede arka plandaki sorgular bir sürü, ama çoğu zaman, onlar sadece değil paralell, sırayla yapıyoruz.

My kullanılan bağlantı dizesi: SUNUCU = mydbserver; MINPOOLSIZE = 3; MaxPoolSize = 15; ConnectionLifeTime = 7; DATABASE = Testi DB; UID = kullanıcı; PWD = I sızıntı teşhis çalışıyorum

geçmesi npgsql'deki postgres bağlantıları.

FYI: Npgsql kitaplığı, en son sürüm 2.0.11.92'de giderilen bir sızıntı sorununa sahipti. Ama yine de bazı problemler var, sanırım.

herkes yürürlükteki kitaplık sürümü (Npgsql v2.0.11.92) da benzer sorunlar yaşandığını mı?

+0

Bu sorun hala var? 2.0.14.3 sürümünü kullanıyorum ve bu hatayı da aldım. – IvanP

+0

Aynı sorunu aldım: Benim durumumda, tüm kod yollarında bağlantıyı kapatmıyordum. – docesam

cevap

10

Aynı problem vardı. Çözüm, bağlantı havuzunu kapatmaktır. Eğer bağlantı dizesinde senin C# app

den veritabanına bağlamadan önce bağlantı dizesinde bunu:

Pooling=false; 
+6

Bağlantı havuzunu kapatmak tam olarak çözüm değildir. Buna geçici çözüm diyelim. – IvanP

+0

Kapatma işlemi çalışmasına izin verdi, yine de bağlantı havuzunun neden çalışmadığını anlamaya çalışmalı. – Cody

+0

Peki neden çözüm çalışıyor? –

İlgili konular