WCF- “La connexion sous-jacente a été fermée: La connexion a été fermée de manière inattendue”

Je suis à la réception de cette magnifique ambigu message d'erreur lorsque vous utilisez l'un de mes webmethods sur mon WCF webservice. En tant que message d'erreur n'est pas de fournir quelque explication que ce soit, permettez-moi de poster ma théorie.

Je crois qu'il peut avoir quelque chose à voir avec le type de retour, je suis en utilisant

J'ai un Types DLL qui est refrenced à la fois le service et le client. Dans cette DLL est la classe de base ExceptionMessages. Il est un enfant de cette classe appelée DrawingExcepions.

Voici un code:

public class ExceptionMessages
{
    public object[] ReturnValue { get; set; }
}

public class DrawingExceptions : ExceptionMessages
{
    private List<DrawingException> des = new List<DrawingException>();
}

public class DrawingException
{
    public Exception ExceptionMsg { get; set; }
    public List<object> Errors { get; set; }
}

L'aide de code:

    [OperationContract]
    ExceptionMessages createNewBom(Bom bom, DrawingFiles dfs);

    public ExceptionMessages createNewBOM(Bom bom, DrawingFiles dfs)
    {
            return insertAssembly(bom, dfs);
    }

    public DrawingExceptions insertAssembly(Bom bom, DrawingFiles dfs)
    {
        DrawingExceptions des = new DrawingExceptions();

        foreach (DrawingFile d in dfs.drawingFiles)
        {
            DrawingException temp = insertNewDrawing(bom, d);
            if (temp != null)
                des.addDrawingException(temp);

            if (d.Child != null)
                des.addDrawingException(insertAssembly(bom, d.Child));
        }

        return des;
    }

Revient à:

    ExceptionMessages ems = client.createNewBom(bom, currentDFS);

    if (ems is DrawingExceptions) { }

Fondamentalement le type de retour de la webmethod est ExceptionMessages cependant j'avais l'habitude d'être l'envoi de la classe enfant dos à la place.

Ma seule idée est que c'est l'enfant qui est à l'origine de l'erreur, mais comme je l'ai lu, cela ne devrait pas avoir d'effet. Quiconque a des idées de ce qui pourrait mal se passer ici?

Si d'info plus est nécessaire, il suffit de demander 🙂

Grâce.

OriginalL'auteur SumGuy | 2010-05-21