我正在使用消息协定模型生成WCF服务.
我创建了一个通用的请求消息合同,如下所示:
[MessageContract]
public Request<T>
{
[MessageBodyMember]
public T Details { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我习惯用它[DataContract(Name="Contract{0}")]来生成通用数据契约的可读名称,但这种方法似乎对我使用消息契约不起作用.
有没有办法使用消息合同模型实现相同的行为?
我认为属性上有一个WrapperNameand属性可以做同样的事情。例如,WrapperNamespaceMessageContract
[MessageContract(WrapperName = "FooMessage", IsWrapped = true)]
public class Request<T>
{ ... }
Run Code Online (Sandbox Code Playgroud)
请注意添加的属性IsWrapped以指示消息应序列化到包装器元素中。