WCF-“ Базовое соединение был закрыт: соединение было неожиданно закрыто”

Я получаю то замечательно неоднозначное сообщение об ошибке при использовании одного из моих webmethods на моем веб-сервисе WCF. Поскольку то сообщение об ошибке не дает объяснения, вообще позволяют мне отправлять свою теорию.

Я полагаю, что это может иметь некоторое отношение к типу возврата, который я использую

У меня есть Типы DLL, на который ссылаются и в веб-сервисе и в клиенте. В этом DLL базовый класс ExceptionMessages. Существует ребенок этого класса под названием DrawingExcepions.

Вот некоторый код:

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; }
}

Код использования:

    [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;
    }

Возвраты к:

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

    if (ems is DrawingExceptions) { }

В основном типом возврата от webmethod является ExceptionMessages однако, я обычно передавал бы дочерний класс обратно вместо этого.

Моя единственная идея состоит в том, что это - ребенок, это вызывает ошибку, но насколько я читал, это не должно иметь никакого эффекта. Кто-либо получил какие-либо идеи, что могло идти не так, как надо здесь?

Если еще информация требуется, просто спросите :)

Спасибо.

5
задан SumGuy 21 May 2010 в 12:17
поделиться

1 ответ

Да, это отличное сообщение :)

Я часто находил полезным включить трассировку, как описано в этой статье . Взгляните на раздел «Рекомендуемые настройки для развертывания или отладки».

4
ответ дан 13 December 2019 в 22:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: