C# 如何在WCF中为继承的类构造帮助页

C# 如何在WCF中为继承的类构造帮助页,c#,json,wcf,documentation,known-types,C#,Json,Wcf,Documentation,Known Types,我在WCF Web服务中为继承的类使用了[KnownType]属性。我的问题是端点(…/WebServices/Gateway.svc/help/operations/GetMessages)上的帮助页面仅显示了一个继承的类作为示例 如下所示: { "Code":"String content", "Messages":[{ "__type":"PhotoMessage:#ApplicationGateway", "KeyboardButtons"

我在WCF Web服务中为继承的类使用了
[KnownType]属性。我的问题是端点(…/WebServices/Gateway.svc/help/operations/GetMessages)上的帮助页面仅显示了一个继承的类作为示例

如下所示:

{
    "Code":"String content",
    "Messages":[{
        "__type":"PhotoMessage:#ApplicationGateway",
        "KeyboardButtons":[{
            "BackGroundColor":"String content",
            "Text":"String content"
        }],
        "Caption":"String content",
        "Url":"String content"
    }]
}

但我希望它显示如下(为每个继承的类提供一个示例):

有人知道如何将此功能添加到WCF webservice帮助页面吗

我的课程如下:

{
    "Code":"String content",
    "Messages":[{
        "__type":"PhotoMessage:#ApplicationGateway",
        "KeyboardButtons":[{
            "BackGroundColor":"String content",
            "Text":"String content"
        }],
        "Caption":"String content",
        "Url":"String content"
    }]
}
消息类:

[DataContract]
[KnownType(typeof(PhotoMessage))]
[KnownType(typeof(TextMessage))]
public abstract class Message
{
    [DataMember]
    public KeyboardButton[] KeyboardButtons { set; get; }
}
[DataContract]
public class PhotoMessage:Message
{
    [DataMember]
    public string Url { set; get; }
    [DataMember]
    public string Caption { set; get; }
}
TextMessage类:

[DataContract]
public class TextMessage : Message
{
    [DataMember]
    public string Text { set; get; }
}
PhotoMessage类:

[DataContract]
[KnownType(typeof(PhotoMessage))]
[KnownType(typeof(TextMessage))]
public abstract class Message
{
    [DataMember]
    public KeyboardButton[] KeyboardButtons { set; get; }
}
[DataContract]
public class PhotoMessage:Message
{
    [DataMember]
    public string Url { set; get; }
    [DataMember]
    public string Caption { set; get; }
}
我的端点返回是:

[DataContract]
[KnownType(typeof(PhotoMessage))]
[KnownType(typeof(TextMessage))]
public class WebServiceOutputGetMessages
{
    [DataMember]
    public Message[] Messages { set; get; }
    [DataMember]
    public string Code { set; get; }
}