【问题标题】:WCF Service that supports XSD restrictions?支持 XSD 限制的 WCF 服务?
【发布时间】:2013-01-31 02:22:47
【问题描述】:

过去一天,我一直在努力寻找一种方法来生成 WCF 服务,该服务实际上保持原始 XSD 中定义的限制。基本问题是,如果我使用包含限制(例如模式)的 XSD 构建合同优先服务,则会从部署服务时输出的 WSDL/XSD 中删除限制。

这里有人抱怨同样的问题:http://geekswithblogs.net/wojan/archive/2010/12/10/143086.aspx

我认为有两个选择:

  • 我能否替换 Web 服务器(IIS 或 IIS Express)上生成的服务 WSDL/XSD
  • 我可以用另一个正确支持 XSD 限制的第三方序列化程序替换默认 XML 序列化程序吗?

想法?

【问题讨论】:

  • 当我继续查看这个问题时,我现在想知道是否有任何方法可以替换服务 dll 中的 WSDL/XSD? (作为某种后期构建步骤)

标签: wcf iis xsd xmlserializer contract-first


【解决方案1】:

您可以通过执行along the lines of what this very good blog post did 来替换内置的 WCF 生成的 WSDL。那篇文章展示了如何覆盖默认的 WCF 行为,即为 XSD 生成包含引用,而不是创建单个“平面”WSDL 文档。

我看到的问题是您需要一种方法来传达此进程的附加 XSD 限制。很高兴您知道您还需要替换内置 XML 序列化程序以在 soap 反序列化过程中获得严格的 XSD 合规性,因为这是实现您想要的唯一方法。考虑到您需要对 WCF 进行的所有深度自定义,您实际上可能想要考虑滚动您自己的自定义 SOAP 堆栈。我不知道有任何其他 .NET 框架(Microsoft 或第 3 方)这样做。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-03
    • 2011-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多