WCF服务引用名称以合同形式出现';s名称(接口),而不是实际的服务名称。。。?

WCF服务引用名称以合同形式出现';s名称(接口),而不是实际的服务名称。。。?,wcf,web-services,visual-studio-2010,Wcf,Web Services,Visual Studio 2010,请允许我再解释一下 我有一个VS2010解决方案,分为两个项目:一个WCF Web服务和一个使用该Web服务的类库 WCF Web服务是一个简单的日志服务;命名空间“LogService”,服务“LogService”,契约“ILogService” 当您使用VS2010附带的“添加服务引用”实用程序将对WCF的引用添加到消费类库项目中时,您将看到该工具正确地添加了对可通过“LogService.LogServiceClient”调用的Web服务的引用。没问题 现在,我有了另一个解决方案;这也分

请允许我再解释一下

我有一个VS2010解决方案,分为两个项目:一个WCF Web服务和一个使用该Web服务的类库

WCF Web服务是一个简单的日志服务;命名空间“LogService”,服务“LogService”,契约“ILogService”

当您使用VS2010附带的“添加服务引用”实用程序将对WCF的引用添加到消费类库项目中时,您将看到该工具正确地添加了对可通过“LogService.LogServiceClient”调用的Web服务的引用。没问题

现在,我有了另一个解决方案;这也分为两个项目:另一个WCF Web服务和使用此新Web服务的Web应用程序

这个特定的Web服务提供对数据库执行的操作;命名空间“BLService”,服务“BLService”,契约“IBLService”

然而,在这个项目中使用相同的“AddServiceReference”实用程序,会添加一个客户端名称实际上是“BLService.IBLServiceClient”的引用。请注意,服务客户端类名前面有一个“I”。该实用工具似乎已经决定使用契约的名称而不是服务的名称来创建服务客户机类

我不明白为什么这个工具在两种解决方案上的表现都不同。我试着从这两个方面尽我所能地检查,但我找不到任何有意义的差异(至少据我所知)


你们知道为什么会这样吗?在我的Web项目(或解决方案中的任何其他地方)中,我应该检查和纠正哪些事情,以使这种奇怪的行为不再发生?

您的BLService类上有[ServiceBehavior(Name=“IBLService”)]吗?或者您的ILogService接口上有[ServiceContract(Name=“LogService”)]吗?刚刚检查过。任何地方都看不到[ServiceBehavior],所有[ServiceContract]属性都没有任何参数。您的BLService类上有[ServiceBehavior(Name=“IBLService”)]吗,或者ILogService接口上有[ServiceContract(Name=“LogService”)]吗?刚刚检查过。任何地方都看不到[ServiceBehavior],所有[ServiceContract]属性都没有任何参数。