虽然找到了服务,但无法添加对我的WCF服务的引用

时间:2014-08-22 14:04:08

标签: c# .net wcf

我遵循了这个指南:http://msdn.microsoft.com/en-us/library/ff649818.aspx 在主机我的服务和服务运行后我创建了控制台应用程序项目,添加服务引用找到的服务。 之后,我尝试测试客户端,所以我写了ServiceReference1(ServiceReference1是我的服务引用)来创建服务实例,在此之后我只能看到IService1而不是我的服务名称{{1} }。

我做错了什么?

2 个答案:

答案 0 :(得分:0)

它应该已经创建了一个可以使用的ServiceClient1类。

答案 1 :(得分:0)

IService1是服务和客户之间的合同,已发布。 Service1是IService1的实现,客户端不需要也不应该了解它。仅通过命名约定,当VS IDE或SvcUtil.exe为IService1(NOT Service1)生成代理类时,代理类默认名为Service1Client。

例如,在您的服务端,您有IService1和类MyInternalImp实现接口,生成的客户端代理类将是Servce1Client,而不是MyInternalImpClient,因为WSDL不关心实现细节,但接口仅

您可能已经阅读了一些具有DataContractAttribute装饰类而不是接口的代码,即使.NET在运行时代表发布接口/ WSDL而在运行时生成接口,这也是一种弊端。

所以你引用了一个名为IService1的服务,而Service1不是服务,而是服务端的实现,这不应该是客户关注的问题。