我來到了一個問題,我找不到一個很好的解決方案 - 我有一個WCF服務,我想要返回從FatherClass繼承的ChildClass對象。WCF和各種返回歸類
大多數情況下,我會返回ChildClass,但在某些情況下,我想只返回FatherClass(它只包含1個字段「錯誤」)。
這可以完成嗎?
我的代碼:
[WebGet(UriTemplate = "SomeQueryString", ResponseFormat = System.ServiceModel.Web.WebMessageFormat.Json)]
public ChildClass GetCollection(parameter)
{
if (err)
{
return new FatherClass();
}
else
{
return new ChildClass();
}
}
凡爲ChildClass從FatherClass繼承(具有更少的字段)。
我的目標是僅返回「文本」的一小部分,而不是返回整個ChildClass對象時將返回的文本。
想法? :)
謝謝!
謝謝。似乎正確的方式去......雖然我得到的錯誤,其中包括「使用ServiceKnownTypeAttribute將操作類型添加到已知類型集合中」。我應該添加一個接口嗎? – Roman
僅供將來參考 - 缺少將[ServiceKnownType(typeof(ChildClass))]添加到服務本身。 – Roman
@roman:如果你不用'KnownType'標記你的基類型,那是另外一種方法。 –