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

时间:2012-12-07 16:33:14

标签: c# wcf xsd wsdl xsd.exe

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

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

尽管xsd.exe为我们生成类做得很好,但它也简化了复杂类型,正如您在previous question中看到的那样;意思是,xsd实际上在生成类时会稍微改变一下,并再次在webservice中使用; ArrayOfStringXXX问题..

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

我尝试了什么:

TL; DR:我们可以将我们的WCF服务指向我们自己的xsd文件,而不是让它生成它自己的吗?

由于

1 个答案:

答案 0 :(得分:0)

您可以使用WSCF.blue之类的工具从XSD文件生成数据协定类。我有这方面的经验,大多数情况下都可以。 See this blog for a good explanation.

还有其他工具可以启用此功能,有关一些建议,请参阅this question

Visual Studio 2012中似乎还有一个新选项,请参阅the documentation。我自己没有看过这个。

此开发方法首先称为合约,因此您可以在Google上找到更多信息: - )