过去一天,我一直在努力寻找一种生成WCF服务的方法,该服务实际上维护了原始XSD中定义的限制。基本问题是如果我使用包含限制(例如模式)的XSD构建合同第一服务,则从部署服务时输出的WSDL / XSD中删除限制。
以下是其他人抱怨同样的问题:http://geekswithblogs.net/wojan/archive/2010/12/10/143086.aspx
我认为我有两个选择:
思想?
答案 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框架(微软或第三方)这样做。