我以前使用过Web服务并理解这个概念。但是现在我已经建立了一个WCF Web服务,但我对它的使用有疑问。 (在如何设置教程中。)
我设置了以下内容:
我如何理解如下;
本教程按如下方式设置代理:
public class MyCalculatorServiceProxy : ClientBase<ICalculator>, ICalculator {
public int Add(int num1, int num2){
return base.Channel.Add(num1, num2);
}
}
这意味着在Proxy中我必须至少引用包含ICalculator的程序集。如果缺少对同一程序集的引用,客户端也会抱怨没有引用该接口。
在本教程中,继承接口的接口和类/服务位于同一个程序集中。因此,在客户端引用接口的程序集意味着您还可以创建“Calculator”类的实例,甚至不需要WCF服务来调用这些函数。
这是否意味着您始终需要两个具有WCF服务的程序集。一个有接口,一个有类/服务?
如果我错了或者有人有其他信息/评论,请纠正我。
答案 0 :(得分:0)
@Tim但我想知道的是,如果你引用一个程序集 服务合同和实施。为什么要使用服务 web服务通过代理。如果你可以立即调用这些功能 通过另一个集会的参考?
如果您这样做,那么您可以让该服务的每个可能客户端与您的数据库进行通信,而不是让一个服务与您的数据库通信(例如)。你到处都有连接字符串。如果需要修改服务代码,则必须将更新部署到更多应用程序。您将失去安全性,可伸缩性和可维护性。
但这对于编写单元和集成测试非常有用。