2

簡単なことですが...ServiceBehaviourの名前空間は Web サービスのバージョン管理にとって重要ですか? クライアントのサーバーへの前方/後方互換性のために、この名前空間が何らかの形で関与していることを意味しますか?

この特定の名前空間とその用途が何であるか、私は本当に理解していませんでした。これについて私に啓発してくれる人はいますか?

ありがとうございました!

EDIT1:私の調査の後、この名前空間はWSDLの最初の行に表示されます:<wsdl:definitions name="SvcTest" targetNamespace="api.company.com/Services/Tester">...しかし、これがバージョン管理に影響を与えるかどうかはわかりません...おそらく私は盲目であるか、何かを見落としています。それとも、私が心配しすぎているのかもしれません... なぜここに日付を追加する必要があるのでしょうか ( <wsdl:definitions name="SvcTest" targetNamespace="api.company.com/Services/Tester/2012/01">) ?

EDIT2 : このリンクを見つけましたが、もう利用できない別の場所を指しています: http://social.msdn.microsoft.com/Forums/en/wcf/thread/66c19783-6675-4bd7-83c1-2140d00a943e。誰でも助けてもらえますか?

4

1 に答える 1

1

はい、少し読んだ後...

Microsoft は、名前空間を使用してデータ コントラクトをバージョン管理することをお勧めします。ベスト プラクティスを参照してください: データ コントラクトのバージョン管理

これらの例では名前が変更されていますが (「2」を追加)、新しい名前空間にバージョン番号または日付を追加して、名前ではなく名前空間を変更することをお勧めします。たとえば、http://schemas.contoso.com/2005/05/21/PurchaseOrderデータ コントラクトは、 http ://schemas.contoso.com/2005/10/14/PurchaseOrderデータ コントラクトに変更されます。

名前空間は、さまざまな場所で設定できます (ServiceContractAttribute、ServiceBehaviorAttribute、DataContractAttribute、WCF サービスの名前空間を参照してください)。

WSDL で一貫した名前空間を保持し、コントラクト、動作、またはデータ コントラクトの変更を追跡することは重要なようです。

于 2013-10-28T13:00:15.510 に答える