【问题标题】:Should strictly versioned WCF service namespaces be unique to the contract?严格版本化的 WCF 服务命名空间应该对合同是唯一的吗?
【发布时间】:2010-11-23 20:57:12
【问题描述】:

我正在为我的 WCF 服务中的每个合同指定一个 Name 和一个 Namespace,如 Microsoft 的 Service Versioning 指南中所述。但是,在每个合约的示例中,Namespace 始终以 Name 值作为后缀,如下所示:

[DataContract(
Name = "PurchaseOrder",
Namespace = "http://examples.microsoft.com/WCF/2005/10/PurchaseOrder")]
public class PurchaseOrderV1 : IPurchaseOrderV1
{
    [DataMember(...)]
    public string OrderId {...}
    [DataMember(...)]
    public string CustomerId {...}
}

为什么Namespace 的后缀是PurchaseOrder?这不是多余的吗? Namespace 不应该反映整个不可变合同吗?

如果我希望我的 DataContractsServiceContracts 一起严格控制版本,Namespace 的值不应该是 http://examples.microsoft.com/WCF/2005/10/强>?

【问题讨论】:

    标签: wcf web-services versioning


    【解决方案1】:

    这很自然。

    http://examples.microsoft.com/WCF/2005/10/ 定义了一个通用的类似产品版本的值。就像您在 C# 代码中拥有更细粒度的命名空间一样,您也可以对 WCF 命名空间执行相同的操作。

    归根结底,命名空间只是一个命名空间,而这种命名只是一种约定

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-15
      • 2010-12-20
      • 2011-02-01
      • 1970-01-01
      • 2011-07-08
      • 1970-01-01
      • 2010-11-15
      • 1970-01-01
      相关资源
      最近更新 更多