请允许我解释一下。
我有一个VS2010解决方案,分为2个项目:WCF Web服务和使用Web服务的类库。
WCF Web服务是一种简单的日志服务;命名空间“LogService”,服务“LogService”,契约“ILogService”。
当您使用VS2010附带的“添加服务引用”实用程序添加对WCF的引用时,在使用的类库项目中,您将看到该工具正确添加了对可以调用的Web服务的引用通过“LogService.LogServiceClient”。这里没问题。
现在,我有另一个解决方案;这也分为2个项目:另一个WCF Web服务和使用这个新Web服务的Web应用程序。
此特定Web服务提供对数据库执行的操作;命名空间“BLService”,服务“BLService”,合同“IBLService”。
但是,在此项目中使用相同的“添加服务引用”实用程序会添加一个引用,其客户端名称实际上是“BLService.IBLServiceClient”。请注意服务客户端类名前面有一个“I”。该实用程序似乎已决定使用合同的名称而不是服务的名称来创建服务客户端类。
我不明白为什么该工具在两种解决方案上的表现都不同。我已经尝试从两者中检查所有可能的东西,但我找不到任何有意义的差异(据我所知,至少)。
你们有人知道为什么会这样吗?我应该在我的Web项目中(或解决方案中的任何其他位置)检查和更正哪些内容,以便不再发生这种奇怪的行为?