WCF - 您为什么要为服务创建多个端点?

时间:2010-11-25 14:53:21

标签: wcf

我在WCF非常新。我正在创建一个原型应用程序来学习WCF。我有以下代码来创建服务主机,它工作正常:

serviceHost = new ServiceHost(typeof(ServiceMethods), new Uri("http://localhost:8888/MyService"));
serviceHost.AddServiceEndpoint(typeof(IB.Entities.ServiceInterfaces.ILocation), WcfConfiguration.GenerateBinding(Enumerations.WcfBindingType.HTTP), "");

我的问题是这个。由于看起来您可以为服务主机添加多个端点,在什么情况/情况下您想要这样做?有什么好处?

2 个答案:

答案 0 :(得分:4)

让我们说你的WCF服务托管BLL(业务规则,数据验证,数据库连接等),并且你有用C#编写的Windows客户端,因为那些最好使端点使用TCP绑定(更快的序列化,工作)只有.NET应用程序之间),然后你有一个用php或java编写的网站,为了让这个网站调用你的服务,你需要一个HTTP端点(由SOAP公开 - 就像一个基本的Web服务)。

答案 1 :(得分:1)

  1. 您可能希望为其他开发人员发布元数据以进行开发,因此添加了MEX端点。
  2. 您可能希望支持多种协议,例如NetTCP for .NET客户端和WSHTTP for Java客户端
  3. 您可能还想为旧版支持添加basicHTTP端点。