Я указываю Name
и Namespace
для каждого контракта в моих службах WCF, как указано в рекомендациях 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 {...}
}
Почему PurchaseOrder имеет суффикс Namespace
? Разве это не избыточно? Разве Namespace
не должен отражать весь неизменный контракт?
Если я хочу, чтобы мои DataContracts
и ServiceContracts
были строго версионированы, не должно ли значение Namespace
быть http://examples.microsoft.com/WCF/2005/10/?