Question

Avoir un comportement étrange dans un système. Voici ce qui se passe:

J'ai un ordinateur principal qui configure des points de terminaison de serveur à l'aide de WCF avant d'ouvrir les canaux en lecture / écriture.

J'ai également une couche d'abstraction de base de données basée sur une 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 de base de données. 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 à la WCF
Se connecter à la base de données
points de terminaison WCF ouverts en lecture / écriture

J'ai un problème lors de la transmission.

Si je le fais dans cet ordre:
points de terminaison WCF ouverts pour lecture / écriture
ajouter un service à la WCF
se connecter à la base de données

tout fonctionne.

Je suis certes assez perdu à comprendre pourquoi cela se produit, toutes les idées seraient très appréciées. Si vous pouviez avoir la gentillesse de me dire toute information supplémentaire dont vous auriez besoin, je serais ravie de la publier. Merci!

Était-ce utile?

La solution

Géré pour résoudre le problème, au cas où quelqu'un se poserait la question.

Nous disposons d'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 framework OR les utilise beaucoup. Lorsque nous avons connecté la base de données avant de procéder à cette collecte de types, la WCF hésiterait à passer à un type générique au cours de 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 leur ajout à cette collection a résolu le problème.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top