在Visual Studio 2008中添加WCF服务引用时,会创建名为Service Reference \ ServiceReferenceNamespace的目录。
在此目录中,有名为Service.xsd,Service1.xsd,Service2.xsd,Service3.xsd和Service4.xsd的文件。这些文件不是重复的 - 不同的文件定义了不同的类型和元素。当我第一次创建服务引用时,只有一个文件,但是当我添加了更多DataContract和OperationContracts时,添加了更多Service *文件。
生成5个不同的文件而不仅仅是一个文件看起来有点奇怪。如果我删除服务引用(以及目录)然后再次添加它,则会再次添加相同的文件。
任何人都可以解释为什么创建了几个文件而不只是一个?
答案 0 :(得分:5)
当您执行添加服务引用时,VS首先下载描述服务的元数据(如WSDL和XSD文件)。这些存储在ServiceReference目录中。然后VS使用这些文件作为输入运行代码生成步骤,生成Reference.cs或.vb作为输出。