Я получаю это удивительно неоднозначное сообщение об ошибке при использовании одного из моих веб-методов на моем веб-сервисе WCF. Поскольку это сообщение об ошибке не дает никаких объяснений, что позволяет мне опубликовать мою теорию.
Я полагаю, что это может иметь отношение к типу возвращаемого значения, которое я использую
У меня есть библиотека типов, которая указана как в веб-сервисе, так и в клиенте. В этой 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) { }
По сути, тип возвращаемого значения из веб-метода - ExceptionMessages, однако я обычно отправляю дочерний класс обратно.
Моя единственная идея заключается в том, что именно ребенок вызывает ошибку, но, насколько я читал, это не должно иметь никакого эффекта. У кого-нибудь есть идеи, что здесь может пойти не так?
Если требуется дополнительная информация, просто спросите:)
Спасибо.