支持XSD限制的WCF服务?

时间:2013-01-31 02:22:48

标签: wcf iis xsd xmlserializer contract-first

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

以下是其他人抱怨同样的问题:http://geekswithblogs.net/wojan/archive/2010/12/10/143086.aspx

我认为我有两个选择:

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

思想?

1 个答案:

答案 0 :(得分:0)

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

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