【问题标题】:Generate WCF classes for multiple WSDL files with inlined XSD and reuse classes使用内联 XSD 和重用类为多个 WSDL 文件生成 WCF 类
【发布时间】:2012-08-24 15:22:47
【问题描述】:

我有很少的 WSDL 文件(而且我将来会不定期地获得更多)带有许多共享 XSD 类型的内联 XSD(在每个 WSDL 中重复)。我需要想出一个流程,如何处理这些 WSDL 并尽可能少地重用生成的类。我正在考虑的最简单的解决方案是将每个类生成到单独的文件中,这将确保不同的类。

我已经使用重用选项尝试了 svcutil.exe,但它似乎不适用于我的情况。继承也有问题(XmlIncludeAttribute 用于序列化) - 每个 WSDL 只包含整个继承层次结构的一部分。

所以看起来我需要提取我目前拥有的所有 WSDL,从中提取 XSD,将这些 XSD 合并到一个大 XSD 中,然后从这个合并的 XSD 文件中生成 C# 类。

对于此类问题,是否有任何经过验证的解决方案?我会很感激任何提示'n'tricks..

【问题讨论】:

    标签: .net wcf xsd wsdl


    【解决方案1】:

    我们遇到过类似的问题,svcutil 生成了一个非常大的 CS 文件,其中包含所有类。

    我们使用 Resharper 将文件拆分为单独的类文件。

    svcutil 重用选项仅适用于 xsd 中的类具有 dll 的情况。

    你可以这样做:

    • 将每个 wsdl 放在自己的目录中
    • 在每个上运行 svcutil
    • 使用 resharper 分割文件
    • 将所有文件复制到单个目录,并跳过具有重复名称的文件

    【讨论】:

    • 不幸的是,这不是可行的解决方案,因为我在问题中提到了继承层次结构问题。每个 WSDL 只包含继承层次树的一部分,所以我需要以某种方式将这些类型合并在一起......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-29
    • 2010-12-15
    • 1970-01-01
    • 1970-01-01
    • 2012-01-26
    相关资源
    最近更新 更多