有没有办法使 DataContractSerializer 序列化的[MessageContract]
方式与通过 SOAP 传输时出现的方式相同?
我有一个类在 WCF 调用的线路上显示如下:
<TestRequest xmlns="http://webservices.test.com/ServiceTest/1.1">
<Name>Just Me</Name>
</TestRequest>
使用 DCS 进行序列化时,如下所示:
<TestRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" z:Id="1" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/" xmlns="http://schemas.datacontract.org/2004/07/ServiceTest">
<_x003C_Name_x003E_k__BackingField z:Id="2">Just Me</_x003C_Name_x003E_k__BackingField>
</TestRequest>
我确信这种不一致是因为我的类被标记为消息合约而不是数据合约:
[MessageContract]
[Serializable]
public class TestRequest
{
[MessageBodyMember]
public string Name { get; set; }
}
有没有办法让 DCS 序列化消息,就像 WCF 在创建 SOAP 消息时所做的那样?