12

当我在 Visual Studio 2008 中添加 WCF 服务引用时,会创建一个名为 Service Reference\ServiceReferenceNamespace 的目录。

在此目录中,有名为 Service.xsd、Service1.xsd、Service2.xsd、Service3.xsd 和 Service4.xsd 的文件。这些文件不是重复的——不同的文件定义了不同的类型和元素。当我第一次创建服务引用时,只有一个文件,但是当我添加更多 DataContract 和 OperationContracts 时,添加了更多 Service*-files。

生成了 5 个不同的文件,而不仅仅是一个,这看起来有点奇怪。如果我删除服务引用(以及目录),然后再次添加,则会再次添加相同的文件。

谁能解释为什么要创建几个文件而不是一个?

4

1 回答 1

5

当您添加服务引用时,VS 首先下载描述服务的元数据——作为 WSDL 和 XSD 文件。这些存储在 ServiceReference 目录中。然后 VS 使用这些文件作为输入运行代码生成步骤,生成 Reference.cs 或 .vb 作为输出。

于 2009-11-20T18:43:45.153 回答