Uznałem, że nie było możliwe uzyskanie przecieku połączenia sql podczas korzystania z LINQ, ale śledzenie śledzenia funkcji NumberOfReclaimedConnections pokazuje dużą liczbę i przy dużym obciążeniu czasami występują wyjątki, takie jak "Upłynął limit czasu." Limit czasu upłynął przed uzyskaniem połączenia od Może się tak zdarzyć, ponieważ wszystkie połączone połączenia były w użyciu i został osiągnięty maksymalny rozmiar puli ".Czy można uzyskać przecieki połączenia sql za pomocą LINQ?
Nie używamy Dispose w datacontext, ponieważ użyliśmy odroczonego ładowania. Kilka artykułów i blogów mówi mi, że nie powinno to stanowić problemu.
Wciąż dostaję te wyjątki. Ale nie może być tak, że każde zapytanie linq, które pozostawi otwarte połączenie, będzie miało znacznie więcej wyjątków.
Edytowane
Aplikacja jest usługą WCF.
Jeśli przyjrzeć się dokumentacji Linq i większości artykułów, twierdzą oni, że usunięcie nie jest konieczne do zwolnienia połączeń. Twierdzą, że DataCOntext utrzymuje połączenie otwarte tylko przez krótki czas, kiedy jest to potrzebne.
Niezły dodatek. Dzięki :) –