严格版本控制的WCF服务名称空间是否应该是合同唯一的?
我正在为我的WCF服务中的每个合同指定一个严格版本控制的WCF服务名称空间是否应该是合同唯一的?,wcf,web-services,versioning,Wcf,Web Services,Versioning,我正在为我的WCF服务中的每个合同指定一个名称和一个名称空间,如Microsoft指南中所述。然而,在每个契约的示例中,名称空间总是以名称值作为后缀,如下所示: [DataContract( Name = "PurchaseOrder", Namespace = "http://examples.microsoft.com/WCF/2005/10/PurchaseOrder")] public class PurchaseOrderV1 : IPurchaseOrderV1 { [Dat
名称
和一个名称空间
,如Microsoft指南中所述。然而,在每个契约的示例中,名称空间
总是以名称
值作为后缀,如下所示:
[DataContract(
Name = "PurchaseOrder",
Namespace = "http://examples.microsoft.com/WCF/2005/10/PurchaseOrder")]
public class PurchaseOrderV1 : IPurchaseOrderV1
{
[DataMember(...)]
public string OrderId {...}
[DataMember(...)]
public string CustomerId {...}
}
为什么PurchaseOrder在名称空间上有后缀?这不是多余的吗?名称空间
不应该反映整个不可变契约吗
如果我希望将我的DataContracts
和ServiceContracts
严格地一起进行版本控制,那么名称空间
值不应该是http://examples.microsoft.com/WCF/2005/10/?这是很自然的
定义通用产品版本,如值。与在C#代码中使用更细粒度的名称空间相同,您也可以使用WCF名称空间
归根结底,名称空间只是一个名称空间,而这种命名只是一种约定