我以前使用过网络服务,并且理解这个概念.然而,现在我已经建立了一个Webservice,但是我对它的使用有一个疑问。(如何设置教程。)
我有以下设置:
我对此的理解如下:
本教程将代理设置如下:
public class MyCalculatorServiceProxy : ClientBase<ICalculator>, ICalculator {
public int Add(int num1, int num2){
return base.Channel.Add(num1, num2);
}
}这意味着,在代理中,我必须至少引用包含ICalculator的程序集。如果接口缺少对同一程序集的引用,客户端也会抱怨没有引用。
在本教程中,继承接口的接口和类/服务在同一个程序集中。因此,引用客户端接口的程序集意味着您还可以创建'Calculator‘类的实例,甚至不需要WCF服务来调用这些函数。
这是否意味着您总是需要两个具有WCF服务的程序集。一个具有接口,另一个具有类/服务?
如果我错了,或者有人有更多的信息/评论,请纠正我。
发布于 2016-03-08 03:09:16
@Tim,但我想知道的是,如果您引用带有服务合同和实现的程序集。为什么通过代理在Why服务上使用这些服务。如果您可以通过另一个程序集的引用立即调用这些函数?
如果您这样做了,那么与您的数据库(例如)进行通信的服务不是一个,而是让该服务的每个可能的客户端都与您的数据库通信。到处都会有连接字符串。如果需要修改服务代码,则必须将更新部署到更多的应用程序中。您将失去安全性、可伸缩性和可维护性。
但是对于编写单元和集成测试来说,这是很棒的。
https://stackoverflow.com/questions/35674984
复制相似问题