-3

我刚刚在 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");
4

1 回答 1

4

与 Windows Communication Foundation (WCF) 服务的所有通信都是通过服务的终结点进行的。端点为客户端提供对 WCF 服务提供的功能的访问。

每个端点包含四个属性:

  • 指示端点所在位置的地址。
  • 指定客户端如何与端点通信的绑定。
  • 标识可用操作的合同。
  • 一组指定端点的本地实现细节的行为。

端点的结构

每个端点包含以下内容:

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

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

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

    有关更多信息,请参阅指定端点地址。

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

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

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

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

    有关详细信息,请参阅 Windows Communication Foundation 绑定概述。绑定在 WCF 对象模型中由抽象基类 Binding 表示。对于大多数情况,用户可以使用系统提供的绑定之一。有关详细信息,请参阅系统提供的绑定。

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

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

    • 消息的形式。

    • 调用操作所需的输入参数或数据的类型。
    • 客户端可以期待什么类型的处理或响应消息。
  • 行为:您可以使用端点行为来自定义服务端点的本地行为。端点行为通过参与构建 WCF 运行时的过程来实现这一点。端点行为的一个示例是 ListenUri 属性,它允许您指定与 SOAP 或 Web 服务描述语言 (WSDL) 地址不同的侦听地址。有关详细信息,请参阅 ClientViaBehavior。

于 2013-06-03T04:33:35.750 回答