ich diesen Fehler erhalten immer zufällig:Verbindungs aktuelle Zustand verbindet Fehlermeldung
System.Web.Services.Protocols.SoapException: System.Web.Services.Protocols.SoapException: Server konnte die Anforderung verarbeiten. ---> System.InvalidOperationException: Die Verbindung wurde nicht geschlossen. Der aktuelle Status der Verbindung ist verbunden.
Der Code über es complaning unter:
DataSet ds = new DataSet();
cn = new SqlConnection(GetDBConnectionString());
using (cn)
{
try
{
SqlCommand cmd = new SqlCommand("uspGetNavigationItems", cn);
cmd.CommandType = CommandType.StoredProcedure;
cn.Open();
SqlDataAdapter adp = new SqlDataAdapter(cmd);
adp.Fill(ds, "NavItems");
}
catch (Exception ex)
{
ds = null;
throw ex;
}
finally
{
if (cn.State != ConnectionState.Closed)
{
cn.Close();
}
}
}
if (ds.Tables.Count > 0)
{
if (ds.Tables[0].Rows.Count > 0)
{
return ds.Tables[0];
}
else
{
return null;
}
}
else
{
return null;
}
Ich verstehe nicht, wo das Problem ist, warum es die Verbindung sagt verbindet, als ich endlich haben es aufzuräumen. Liegt es daran, dass ich schliesslich schließe und die using-Anweisung, die es auch schließen soll? Auch das passiert zufällig nicht immer, deshalb bin ich mir nicht sicher was los ist.
Vielen Dank.
Entlang dieser Linien: der Befehl Objekt sollte auch in einer using-Anweisung sein. – NotMe
@ChrisLively: Bearbeitete meine Antwort entsprechend. –
@TimSchmelter danke. – Paritosh