سؤال

This MSDN article recommends always to provide a namespace to a ServiceContract and DataContract.

Examples usually have a "schema" prefix and a URI type pattern for the namespace such as

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

instead of a traditional C# namespace with dot-notation such as

Namespace="MyNamespace.MyDataClasses"

What is the suggested format the namespace property? Do we need the schema prefix? Why is this format suggested?

هل كانت مفيدة؟

المحلول 2

It's an XML Namespace. Those can either be in the urn: format or they can be URLs.

نصائح أخرى

Here are some additional suggestions from MSDN:

  • The namespace can be any string
  • but is traditionally a Uri representative of the company or application domain
  • and includes a year and month to support versioning scenarios.
  • For DataContracts, the namespace is often similar to the ServiceContract namespace
  • but uses using a “schemas” uri section

Example Service Contract with Namespace

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

Example Data Contract with "Schema" Segment in Namespace

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

Thank you to John Saunders or getting me started.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top