2009-03-03 12 views
0

Ein seltsames Verhalten in einem System. Hier ist, was los ist:Entitätsframework/WCF-Verbindungsreihenfolge

Ich habe eine Main, die Server-Endpunkte mit WCF vor dem Öffnen der Kanäle für Lese-/Schreibzugriff eingerichtet.

Ich habe auch eine Entity-Framework-basierte Datenbank Abstraktionsschicht. Wenn ich meine DataBase-Klasse instanziiere, stelle ich eine Verbindung zur Datenbank her.

Einer meiner Endpunkte enthält diese DB-Abstraktionsklasse. Ich instanziiere das Datenbankobjekt, nachdem ich den Endpunkt mit WCF registriert habe.

Wenn ich es in dieser Reihenfolge tun:
Add Dienst WCF
Connect
offen WCF-Endpunkte für Lese- DB/schreiben

ich auf Übertragungsfehler.

Wenn ich es in dieser Reihenfolge tun:
offen WCF-Endpunkte für Lese-/Schreib
add Dienst WCF
Verbindung zu DB

alles funktioniert.

Ich bin zugegebenermaßen ziemlich verloren, warum das passiert, irgendwelche Ideen würden sehr geschätzt, und wenn Sie so freundlich wären, mir weitere Informationen zu sagen, die Sie brauchen, werde ich glücklich sein, es zu veröffentlichen. Vielen Dank!

Antwort

0

Verwaltet, um das Problem zu lösen, falls sich jemand darüber Gedanken machen sollte.

Wir haben eine Methode zum Hinzufügen bekannter Typen zu unserem Serialisierungssystem, wenn der WCF-Layer gestartet wird.

WCF möchte abstrakte oder generische Typen nicht serialisieren, aber das OR-Framework verwendet sie ausgiebig. Wenn wir die DB vor dieser Typenkollektion verbunden haben, würde die WCF in der Deserialisierungsphase einen generischen Typ überspringen.

Hinzufügen von Überprüfungen, um sicherzustellen, dass die Typen nicht abstrakt oder generisch waren, bevor sie dieser Sammlung hinzugefügt wurden, behob das Problem.