C# WCF 面向服务应用

159 阅读2分钟

服务应用代码流程

官网文档

  1. 服务协定程序
    • 创建WCF服务程序
    • 将程序功能进行区分
    • 定义服务协定: 定义Interface接口类。
    • 实现服务协定:继承Interface,并实现内部方法。
    • 修改App.config配置文件,将所有的服务信息进行添加。
  2. 服务承载应用 : 将服务协定程序中实现的服务,进行配置注册。
    • 创建控制台应用
    • 服务协定程序已添加引用的方式,添加到应用中,以便应用时,注册示例时使用类型。
    • 配置服务并创建实例,监听服务
    • 添加服务引用,将服务协定程序中的服务引用到应用中,引用成功后会在应用根目录体现。
    • 修改App.config配置,添加终结点。
  3. 客户端应用 : 用来与服务承载应用进行通信,调用服务承载应用中注册的服务。
    • 创建控制台应用
    • 添加引用 : 添加项目服务承载应用(以便使用其下添加服务引用后生成的命名空间下的类)
    • 修改App.config配置,添加终结点。
    • 创建实例(实例来源是服务承载应用进行添加服务引用后生成的类)
    • 调用实例方法,进行通信。
    • 最后记的关闭实例 xx.close()

关键字

  • 在WCF中,有多种不同类型的绑定可供选择,每种绑定都具有不同的特性和适用场景。以下是一些常见的WCF绑定类型:

    1. BasicHttpBinding:基于SOAP协议的绑定类型,适用于与旧版的ASMX Web服务进行通信。
    2. WsHttpBinding:基于SOAP协议的绑定类型,支持可靠会话和安全性功能,适用于跨平台的通信。
    3. NetTcpBinding:使用TCP协议的绑定类型,以二进制格式进行传输,适用于在相同的Windows域中进行高性能通信。
    4. NetNamedPipeBinding:使用命名管道进行通信的绑定类型,适用于在同一台计算机上的进程间通信。
    5. NetMsmqBinding:使用消息队列(MSMQ)进行通信的绑定类型,适用于异步、可靠的跨网络通信。
    6. WebHttpBinding:基于RESTful风格的绑定类型,适用于通过HTTP协议进行轻量级通信。
  • 终结点endPoint: 在WCF中,一个终结点(Endpoint)代表了一个服务终结点的地址、绑定和协议信息的组合。它定义了客户端如何访问和与服务进行通信。

    一个终结点通常由以下几个要素组成:

    1. 地址(Address):指定了服务的网络位置,可以是一个URL或者一个网络地址。
    2. 绑定(Binding):定义了服务与客户端之间的通信协议和传输方式,如SOAP、TCP、HTTP等。
    3. 契约(Contract):定义了服务提供的操作和消息的格式。