WCF 4.5中没有来自WSDL的生成类型

时间:2014-01-14 18:25:32

标签: wcf

创建服务后,我尝试将其添加为另一个项目的参考。我这样做了它创建了客户端,但我只看到了我的服务方法,而不是它应该生成的自定义类型。

例如,我添加了一个服务引用,例如http://ourdomain.com/Payment.svc

我应该引用http://ourdomain.com/Payment.svc?wsdl?singlewsdl作为服务参考网址吗?

请注意,如果我通过http://ourdomain.com/Payment.svc?singlewsdl添加服务引用它不会生成客户端,但我可以看到Reference.cs中创建的类型。

1 个答案:

答案 0 :(得分:0)

选项?wsdl?singlewsdl都将生成等效的服务描述WSDL文档。区别在于?wsdl将“类型”(C#中的类)定义分隔为多个XSD文件,?singlewsdl生成包含服务描述和XSD定义的单个文件。在Visual Studio中,您使用哪个选项没有区别。如果您正在使用SvcUtil(或其他平台工具),那么使用单个文件生成代理会更容易。实际上,一些旧工具需要一个文件。

您的“问题”实际上可能是代码生成功能。打开服务参考配置对话框(右键单击它并为服务选择“配置服务”)。您将看到默认情况下通常打开的选项:在引用的程序集中重用类型。可能还会检查所有引用程序集中的重用类型。这些选择将阻止 Reference.cs文件包含任何类型(如果它们已在另一个程序集中引用)。通常你应该留下这些。要在创建服务引用时对其进行控制,请单击“添加服务引用”对话框中的“高级”按钮(左下角)以查看配置选项。