Wie andere gesagt haben, ohne Code zu sehen, wir nur vermuten können, aber ich habe ähnliche Probleme gesehen, wenn sie versuchen eine unenumerated Abfrage über WCF senden .
Zum Beispiel, wenn Sie so etwas wie haben (Achtung: Air-Code) dieses ..
var data = ctx.Customers.Where(c => c.CustType == 1);
... und Sie versuchen, und gibt diese aus einem WCF-Service-Methode, erhalten Sie die Ausnahme erhalten du erwähntest. Dies liegt daran, dass die Abfrage eingerichtet und an WCF gesendet wird, wo sie serialisiert wird, was fehlschlägt, da die Serialisierung versucht, die Abfrage aufzuzählen, nachdem die Verbindung geschlossen wurde.
Die Antwort besteht darin, die Aufzählung der Abfrage zu erzwingen, bevor Sie sie zurückgeben. Sie können dies tun, indem Sie .ToList() am Ende der Abfrage (unter anderem) hinzufügen.
Wie gesagt, ohne einen Code zu sehen, ist dies eine vollständige Vermutung, aber ich hatte die gleiche Ausnahme unter diesen Umständen, also ist es eine Überprüfung wert.
Der Fehler scheint ziemlich klar zu sein - öffnen Sie eine Verbindung für jede DB-Anfrage oder halten Sie eine für lange Zeit am Leben und verwenden Sie sie erneut? –
ohne Ihren Code zu sehen, wäre dies eher rate für uns, aber hier ist eine Idee .. Wenn Sie irgendwelche Verbindungen mit dem erstellen (using (SqlConnection sqlConn = neue SqlConnection)) {} 'zum Beispiel die Verbindung wird entsorgt, wenn Sie versuchen Zugriff auf das sqlConn-Objekt, wenn es außerhalb des Gültigkeitsbereichs ist und die Verbindung nicht global ist, wird es geschlossen usw. Versuchen Sie, uns den Code zu zeigen, wo das aktuelle Problem auftritt, was bedeutet, dass Sie Breakpoints einrichten und den Code mithilfe des Debuggers durchlaufen müssen ... – MethodMan