C# 在WCF服务中使用我们自己的xsd文件

C# 在WCF服务中使用我们自己的xsd文件,c#,wcf,xsd,wsdl,xsd.exe,C#,Wcf,Xsd,Wsdl,Xsd.exe,我们有一个xsd文件,其中已经定义了契约。我们使用xsd.exe为我们的WCF服务生成类,并再次为我们的Web服务使用XmlSerializerFormat 在我看来,这是一件奇怪的事情,让WCF为XSD.exe为我们生成的类生成一个新的XSD,而我们已经有了XSD定义 虽然xsd.exe在为我们生成类方面做得很好,但它也简化了复杂类型,正如您在my中看到的那样;也就是说,xsd在生成类并再次在Web服务中使用时实际上会发生一些变化;ArrayOfStringXXX问题 我们是否可以告诉WCF服

我们有一个xsd文件,其中已经定义了契约。我们使用
xsd.exe
为我们的WCF服务生成类,并再次为我们的Web服务使用
XmlSerializerFormat

在我看来,这是一件奇怪的事情,让WCF为
XSD.exe
为我们生成的类生成一个新的XSD,而我们已经有了XSD定义

虽然
xsd.exe
在为我们生成类方面做得很好,但它也简化了复杂类型,正如您在my中看到的那样;也就是说,xsd在生成类并再次在Web服务中使用时实际上会发生一些变化;ArrayOfStringXXX问题

我们是否可以告诉WCF服务使用我们自己的xsd文件作为契约,而不是根据xsd.exe提供的内容生成新契约

我尝试的是:

  • 我已经看过这个示例:它似乎在推广,但我无法在导出方法中替换xsd,因为它从来都不是 打电话来
TL;DR:我们可以将WCF服务指向我们自己的xsd文件,而不是让它生成自己的文件吗?

谢谢

您可以使用诸如从XSD文件生成数据协定类之类的工具。我有这方面的经验,在大多数情况下都可以

还有其他工具可以实现这一点,请参阅以获取一些建议

Visual Studio 2012中似乎也有一个新的选项用于此,请参阅。我自己还没查过


这种开发方法称为contract first,因此您可以在Google上找到更多信息:-)

我已经尝试过WSCF.blue,它还使string[]代替Class。。。将研究合同的第一个工具!似乎WCF选项窗格仅在“WCF服务库”项目上可见,而在“WCF服务应用程序”上不可见。