Каков формат свойства DataContractAttribute.Namespace?

В этой статье MSDN рекомендуется всегда предоставлять пространство имен для ServiceContract и DataContract.

Примеры обычно имеют префикс "схемы" и шаблон типа URI для пространства имен, например

Namespace="urn:WCFEssentials/Samples/2008/12"

вместо традиционного пространства имен C# с точечной нотацией, такой как

Namespace="MyNamespace.MyDataClasses"

Каков предлагаемый формат свойства namespace? Нужен ли префикс схемы? Почему этот формат предлагается?

2 ответа

Решение

Это пространство имен XML. Те могут быть либо в urn: формат или они могут быть URL.

Вот некоторые дополнительные предложения от MSDN:

  • Пространство имен может быть любой строкой
  • но традиционно Uri является представителем компании или домена приложения
  • и включает год и месяц для поддержки сценариев управления версиями.
  • За DataContractsпространство имен часто аналогично ServiceContract Пространство имен
  • но использует раздел "схемы" URI

Пример контракта на обслуживание с пространством имен

[ServiceContract(Namespace="urn:CompanyName/ApplicationName/YYYY/MM")]
[ServiceContract(Namespace="urn:BigFont/EmailSystem/2014/03")]

Пример контракта данных с сегментом "Схема" в пространстве имен

[DataContract(Namespace="urn:CompanyName/Schema/YYYY/MM")]
[DataContract(Namespace="urn:BigFont/Schema/2014/03")]

Спасибо Джону Сондерсу или за то, что я начал.

Другие вопросы по тегам