2010-11-23 15 views
4

MicrosoftのService Versioningガイドラインに記載されているように、WCFサービスのすべての契約でNameNamespaceを指定しています。しかし、各契約のための彼らの例では、Namespaceは、いつものように、Name値接尾辞れる:厳密にバージョン管理されたWCFサービスネームスペースは、契約と一意である必要がありますか?

[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に接尾発注書はありますか?これは冗長ではないですか? Namespaceは、不変な契約全体を反映するべきではありませんか?

私はDataContractsServiceContractsは厳密に一緒にバージョン管理したい場合は、Namespace値はhttp://examples.microsoft.com/WCF/2005/10/すべきではありませんか?

答えて

4

これは自然なことです。

http://examples.microsoft.com/WCF/2005/10/は、一般的な製品バージョンのような値を定義します。同じ方法で、C#コードに細かい粒度の名前空間がある場合、WCF名前空間でも同じことができます。

名前空間は名前空間であり、この種の名前空間はという慣習で、ただの規則です。

関連する問題