DataContractAttribute.Namespace属性的格式是什么?

时间:2014-03-19 20:03:38

标签: wcf namespaces datacontract servicecontract

This MSDN article建议始终为ServiceContract和DataContract提供命名空间。

示例通常具有“schema”前缀和名称空间的URI类型模式,例如

Namespace="urn:WCFEssentials/Samples/2008/12"

而不是传统的带有点符号的C#命名空间,例如

Namespace="MyNamespace.MyDataClasses"

命名空间属性的建议格式是什么?我们需要架构前缀吗?为什么建议使用这种格式?

2 个答案:

答案 0 :(得分:3)

以下是MSDN的其他建议:

  • 命名空间可以是任何字符串
  • 但传统上是公司或应用领域的Uri代表
  • 并包含支持版本控制方案的年份和月份。
  • 对于DataContracts,命名空间通常类似于ServiceContract命名空间
  • 但使​​用“schemas”uri部分

使用命名空间的示例服务合同

[ServiceContract(Namespace="urn:CompanyName/ApplicationName/YYYY/MM")]
[ServiceContract(Namespace="urn:BigFont/EmailSystem/2014/03")]

示例数据合同与"架构"命名空间中的细分

[DataContract(Namespace="urn:CompanyName/Schema/YYYY/MM")]
[DataContract(Namespace="urn:BigFont/Schema/2014/03")]

感谢John Saunders或让我开始。

答案 1 :(得分:1)

'和XML Namespace。这些可以是urn:格式,也可以是URL。