2010-04-09 4 views
1

J'ai une application avec de nombreux services WCF qui utilisent LINQ-To-SQL comme modèle d'accès aux données. J'ai beaucoup de problèmes avec l'exception "DataContext accessible après Dispose". Je comprends ce qu'est cette exception et qu'elle se produit parce que je n'ai pas "initialisé" les données qui essayent d'être accédées. J'ai lu beaucoup d'articles qui suggèrent que j'ai appelé ToList() sur tous les tableaux avant que l'objet parent soit renvoyé par le service.WCF "DataContext accessible après Dispose"

Mon problème est que je reçois cette exception et je ne sais pas d'où il vient et donc je ne sais pas ce qui n'a pas été initialisé.

Quelqu'un peut-il nous conseiller sur la meilleure façon d'identifier la cause première?

(j'ai utilisé le service MS Trace Viewer et cela ne semble pas me donner de plus amples informations)

Répondre

1

J'ai trouvé la cause du problème était qu'il y avait une classe dans le LINQ-to sql qui a été décoré avec l'attribut DataContract mais nécessaire pour définir la propriété IsReference sur true ([DataContract(IsReference=true)]). Il y avait également une propriété de cette classe qui n'était pas un DataMember et devait être ([DataMember(EmitDefaultValue=false)]). La définition de ces deux attributs a résolu mon problème.

Questions connexes