Ich verwende C# LINQ zu SQL-Anwendung und meine Anwendung läuft 24 * 7 in Servern. Jetzt bin ich mit dem Problem konfrontiert Datenbank-Verbindungen, die sie nicht schließen, so dass aktive Verbindungen zu 200 und mehr erreichen. Ich verwendete Syntax überall dort, wo ich die Datenbank direkt behandle.Datenbankverbindung schließt nicht ordnungsgemäß
Aber das löst nicht mein Problem. Bitte überprüfen Sie und lassen Sie mich wissen, was ich dafür tun kann.
Provider hat immer meine Datenbank deaktiviert.
using (DataClassesDataContext DbContext = new DataClassesDataContext())
{
return DbContext.tblApiLinks.FirstOrDefault(U => U.ProviderName == ProviderName);
}
using (DataClassesDataContext DbContext = new DataClassesDataContext())
{
tblApiLink Apilink = new tblApiLink();
Apilink.ApiUrl = Url;
Apilink.ApiKey = Key;
Apilink.ProviderName = Provider;
DbContext.tblApiLinks.InsertOnSubmit(Apilink);
DbContext.SubmitChanges();
}
New Edits
Fall 1. Überprüfen Sie bitte diese Code eine Tabelle zurück. Führt dies zum Schließen der Verbindung?
public tblApiLink getData()
{
using (DataClassesDataContext DbContext = new DataClassesDataContext())
{
return DbContext.tblApiLinks.FirstOrDefault(U => U.ProviderName == ProviderName);
}
}
tblApiLink api = getData();
Fall 2. Wenn ich wie verwendet, um dieses lst = dbContext.tblApiLinks tblApiLinks; Ich denke, das wird die Verbindung nicht schließen und sie werden die ganze Zeit aktiv sein.
Fall 3. Gibt es eine Möglichkeit, alle aktiven Verbindungen zu schließen, die seit langer Zeit aktiv sind und nicht verwendet werden.
Fügen Sie Beispielcode für die Abfrage der Datenbank hinzu. –
'" Bitte überprüfen Sie und lassen Sie mich wissen ... "' - Überprüfen Sie * was *, genau? – David
@PankajMishra: Ich sehe nichts strukturell falsch mit dem Code gezeigt. Das Problem, das Sie beobachten, ist möglicherweise nicht so einfach wie das, was in diesem Code dargestellt wird. – David