编程语言
首页 > 编程语言> > c#-.Net Rest Web服务响应具有默认的数据协定名称空间,而不是预期的名称空间

c#-.Net Rest Web服务响应具有默认的数据协定名称空间,而不是预期的名称空间

作者:互联网

细节:

接口合同:

[OperationContract]
[WebGet(UriTemplate = "test")]
TestType TestOperation();

类型定义:

[System.Xml.Serialization.XmlRoot(ElementName = "Test", Namespace="http://test.net/", IsNullable=false)]
public partial class TestType {

实际结果:

<TestType xmlns=http://schemas.datacontract.org/2004/07/ …

预期结果:

<Test xmlns= http://test.net/ …

请指教.

解决方法:

该服务正在使用DataContractSerializer来序列化响应,因此需要数据协定名称空间.为了覆盖这一点,我建议如下将XmlSerialzeFormat属性应用于该操作…

[OperationContract]
[WebGet(UriTemplate = "test")]
[XmlSerializerFormat]
TestType TestOperation();

标签:datacontract,xml-serialization,wcf,c,net
来源: https://codeday.me/bug/20191122/2063351.html