wcf - DataContractAttribute.Namespace 属性的格式是什么?

标签 wcf namespaces datacontract servicecontract

This MSDN article建议始终为 ServiceContract 和 DataContract 提供命名空间。

示例通常具有“模式”前缀和 namespace 的 URI 类型模式,例如
Namespace="urn:WCFEssentials/Samples/2008/12"
而不是带有点符号的传统 C# 命名空间,例如
Namespace="MyNamespace.MyDataClasses"
命名空间属性的建议格式是什么?我们需要模式前缀吗?为什么建议采用这种格式?

最佳答案

以下是来自 MSDN 的一些额外建议:

  • 命名空间可以是任何字符串
  • 但传统上是公司或应用程序域的 Uri 代表
  • 并包括支持版本控制方案的年份和月份。
  • 对于 DataContracts ,命名空间通常类似于 ServiceContract命名空间
  • 但使用“模式”uri 部分

  • 具有命名空间的示例服务契约(Contract)
    [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")]
    

    感谢约翰桑德斯或让我开始。

    关于wcf - DataContractAttribute.Namespace 属性的格式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22516894/

    相关文章:

    c# - 在模拟对数据库的 WCF 调用时遇到问题,显示 domain\Machine$ 登录失败

    python - 在 Python 中添加到本地命名空间?

    .net - 为客户端和服务器共享 WCF 契约(Contract)

    c# - 类型 'System.Web.HttpInputStream' 未标记为可序列化

    c# - Endpoint 与 Windows 沉浸式项目版本 1 不兼容

    c# - 如何将 wcf 服务添加到现有类库

    php - 使用命名空间时无法使用 require_once 加载类

    c++ - c++ 允许提升还是特定于编译器?即使

    c# - 如何从 EnumMember wcf 获取值

    c# - 从 DataContract 中删除命名空间不起作用