2009-03-03 3 views
0

Obtention d'un comportement étrange dans un système. Voici ce qui se passe:structure d'entité/ordre de connexion WCF

J'ai une principale qui configure les points de terminaison du serveur en utilisant WCF avant d'ouvrir les canaux pour la lecture/écriture. Je possède également une couche d'abstraction de base de données basée sur un framework d'entité. Lorsque j'instancie ma classe DataBase, je me connecte à la base de données.

L'un de mes points de terminaison contient cette classe d'abstraction DB. J'instancie l'objet de base de données après avoir enregistré le point de terminaison avec WCF.

Si je le fais dans cet ordre:
Ajouter un service à WCF
Se connecter à DB
points de terminaison WCF ouvert pour la lecture/écriture

I défaut sur la transmission.

Si je le fais dans cet ordre:
points de terminaison WCF ouverts en lecture/écriture
services d'ajouter à WCF
connecter à DB

tout fonctionne. Il est vrai que je suis assez perdu quant à la raison pour laquelle cela se produit, toutes les idées seraient très appréciées, et si vous seriez assez aimable pour me dire plus d'informations dont vous avez besoin, je serai heureux de le poster. Merci!

Répondre

0

Géré pour résoudre le problème, au cas où quelqu'un se poserait des questions à ce sujet.

Nous avons une méthode pour ajouter des types connus à notre système de sérialisation lorsque la couche WCF démarre.

WCF ne veut pas sérialiser les types abstraits ou génériques, mais le cadre OR les utilise largement. Lorsque nous avons connecté la base de données avant de faire cette collection de types, le WCF aurait hiccu en passant au-dessus d'un type générique dans la phase de désérialisation.

L'ajout de vérifications pour s'assurer que les types n'étaient pas abstraits ou génériques avant d'être ajoutés à cette collection a corrigé le problème.

Questions connexes