嚴格版本化的 WCF 服務命名空間是否應該對合同是唯一的? (Should strictly versioned WCF service namespaces be unique to the contract?)


問題描述

嚴格版本化的 WCF 服務命名空間是否應該對合同是唯一的? (Should strictly versioned WCF service namespaces be unique to the contract?)

我正在為我的 WCF 服務中的每個合同指定一個 Name 和一個 Namespace,如 Microsoft 的 服務版本控制 指南。但是,在每個合約的示例中,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/ ?


參考解法

方法 1:

This is natural.

http://examples.microsoft.com/WCF/2005/10/ defines a general product‑version‑like value. In the same way that you have more fine grained namespaces in your C# code, you would do the same with WCF namespaces.

At the end of the day, namespace is just a namespace and this kind of naming just a convention.

(by Aaron DanielsAliostad)

參考文件

  1. Should strictly versioned WCF service namespaces be unique to the contract? (CC BY‑SA 3.0/4.0)

#versioning #web-services #wcf






相關問題

AndroidManifest.xml 文件 <manifest> versionCode 屬性 (AndroidManifest.xml file <manifest> versionCode attribute)

grails 插件兼容性 (grails plugins compatibility)

Debug Unit Test bằng cách sử dụng Resharper 7 cho MBUnit ném ra một ngoại lệ (Debug Unit Tests using Resharper 7 for MBUnit throws an exception)

在 Maven 依賴項中包含不同版本的庫,完全破壞了我的構建 (Including a different version of a library, in a maven dependency totally broke my build)

Servicestack nuget 版本控制 (Servicestack nuget versioning)

如何從共享庫中獲取版本信息到 Android 清單中? (How to get version info from a shared library into the Android manifest?)

我可以在 Visual Studio 中為解決方案設置通用的 major.minor.release (Can I set a general major.minor.release for a solution in Visual Studio)

跨版本的 PowerShell 安裝文件夾和腳本文件擴展名 (PowerShell installation folder and script filename extension across versions)

嚴格版本化的 WCF 服務命名空間是否應該對合同是唯一的? (Should strictly versioned WCF service namespaces be unique to the contract?)

為不同版本的 3rd 方庫設計實用程序 (Design of utilities for diffrent versions of 3rd party library)

如何檢索顯示上游狀態的 git 版本信息 (How do I retrieve git version info showing upstream state)

帶有紗線漿果的 CLI 凹凸版本號 (CLI bump version number with yarn berry)







留言討論