Каков формат свойства 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")]
Спасибо Джону Сондерсу или за то, что я начал.