为什么我应该在WCF中使用端点



我刚刚创建了我的第一个WCF示例。到目前为止,我可以在本地机器上创建服务并由客户端使用。当我第一次读到WCF时,我看到了一些关于END POINTS的解释,我不明白为什么它真正用于。下面是我的代码,有人请告诉我为什么我应该使用结束点,以及如何添加结束点到我的示例应用程序。

namespace MvcApplicationrazor.Services
{
    [ServiceContract]
    public interface IMyService
    {
        [OperationContract]
        string MyOperation1(string myValue);
        [OperationContract]
        string MyOperation2(DataContract1 dataContractValue);
        [OperationContract]
        string HelloWorld(string str);
    }
    [DataContract]
    public class DataContract1
    {
        string firstName;
        string lastName;
        [DataMember]
        public string FirstName
        {
            get { return firstName; }
            set { firstName = value; }
        }
        [DataMember]
        public string LastName
        {
            get { return lastName; }
            set { lastName = value; }
        }
    }
}

namespace MvcApplicationrazor.Services
{
    public class MyService : IMyService
    {
        public string MyOperation1(string myValue)
        {
            return "Hello: " + myValue;
        }
        public string MyOperation2(DataContract1 dataContractValue)
        {
            return "Hello: " + dataContractValue.FirstName;
        }
        public string HelloWorld(string str)
        {
            return "Helloworld from " + str;
        }

    }
}
客户:

 FirstServiceReference.MyServiceClient cc = new FirstServiceReference.MyServiceClient();
 string  a = cc.MyOperation1("chamara");

与Windows通信基础(WCF)服务的所有通信都通过该服务的端点进行。端点为客户端提供对WCF服务所提供功能的访问。

每个端点由四个属性组成:

  • 一个地址,指示在哪里可以找到端点。
  • 指定客户端如何与端点通信的绑定。
  • 标识可用操作的合同。
  • 指定端点本地实现细节的一组行为。

端点的结构

每个端点由以下内容组成:

  • Address:地址唯一标识端点,并告诉服务的潜在消费者它所在的位置。它在WCF对象模型中由EndpointAddress类表示。EndpointAddress类包含:

  • Uri属性,表示服务的地址

  • 标识属性,表示服务的安全标识和可选消息头的集合。可选消息头用于提供额外的和更详细的寻址信息,以标识端点或与端点交互。

    详细信息请参见指定端点地址

  • Binding:绑定指定如何与端点通信。这包括:

    • 要使用的传输协议(例如,TCP或HTTP)。

    • 用于消息的编码(例如,文本或二进制)

    • 必要的安全需求(例如,SSL或SOAP消息安全性)。

    有关更多信息,请参阅Windows通信基础绑定概述。绑定在WCF对象模型中由抽象基类binding表示。对于大多数场景,用户可以使用系统提供的绑定之一。有关更多信息,请参见系统提供的绑定。

  • Contracts:合约概述了端点向客户端公开的功能。合同规定:

    • 客户端可以调用哪些操作

    • 消息格式

    • 调用操作所需的输入参数或数据类型。
    • 客户端可以期望的处理或响应消息类型。
  • Behaviors:您可以使用端点行为来定制服务端点的本地行为。端点行为通过参与构建WCF运行时的过程来实现这一点。端点行为的一个示例是ListenUri属性,它允许您指定与SOAP或Web服务描述语言(Web Services Description Language, WSDL)地址不同的侦听地址。更多信息请参见clientvibehavior

相关内容

  • 没有找到相关文章

最新更新