C# 如何在WCF中为继承的类构造帮助页
我在WCF Web服务中为继承的类使用了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"
[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; }
}