• WCF笔记 1.WCF基础


    第一章 WCF基础
    System.ServiceModel
    WCF中的所有消息均为SOAP消息,消息与传输协议无关(不仅限于HTTP)
    服务的执行边界:客户端统一使用代理访问服务
    地址,包括服务位置和传输协议,有5种:
     TCP地址: net.tcp://localhost:8002/MyService
     HTTP地址: http://localhost:8001
     IPC地址: net.pipe://localhost/MyPipe
     MSMQ地址: net.msmq://localhost/private/MyService 公有
       net.msmq://localhost/MyService 私有
     对等网地址: net.p2p://

    契约 有4种:
     服务契约
     数据契约 
     错误契约
     消息契约

    服务契约:
     ServiceContractAttribute特性,
      不可继承,所以继承契约的类不具有对外公布的特性
      只适用于class和interface
     
     服务契约中的方法,要加上[OperationContract]才能对外公布,成为契约的一部分。
     服务契约中的方法参数不能使用引用对象,只允许基本类型(包括string)或者数据契约。
     [OperationContract]只适用于实例方法,不能应用于属性/索引/事件以及static方法

     以上所述即 服务的边界

     服务类要避免使用带参ctor,WCF只使用默认ctor

     尽量避免直接将[ServiceContract]加到服务类——WCF要推断出契约的定义,还是要额外建立契约类/接口

    为契约定义命名空间,确定其类型范围
    [ServiceContract(Namespace="MyNameSpace")]
    public interface IMyContract
     
    为契约或契约方法定义名称
    [ServiceContract(Name="Name")]
    public interface IMyContract

     [OperationContract(Name="MyMethod")]
     void MyMethod();
    }

    托管
     在Vista的Service中打开WAS服务: Windows Process Activation Service
     
     2种托管:
      IIS托管  *.svc 使用ServiceHost类,同时在Web.Config中指定ServiceName
      自托管  宿主进程必须在客户端调用服务之前运行
        宿主进程必须在运行时显示地注册服务类型,并为客户端的调用打开宿主
      WAS托管  
      
      ServiceHost<T>

    绑定:
     9种标准绑定以及相应类
     不同场景的使用规则
     
    终结点 EndPoint,
     地址,契约,绑定的混成品
     可以在Web.Config中配置EndPoint和绑定方式
     基地址(由宿主提供),相对URI
     编程方式配置终结点

    元数据交换
     配置文件和编程两种方式
    元数据交换终结点
     配置文件和编程两种方式 使用BindingElement

    使用ServiceHost<T>,简化以上的编程开发

    一个元数据浏览器 MEX Explorer


    客户端编程
     生成代理 SvcUtil工具
    客户端的配置文件
     进程内托管的配置文件
     SvcConfigEditor编辑器
    创建和使用代理
    关闭代理
    调用超时

    WCF体系架构
     信道机制
     context
     使用通道 ChannelFactory<T>
     InProcFactory<T>

    可靠性
     传输可靠性 
     消息可靠性

     必备有序传递 DeliveryRequirements特性的TargetContract属性
     

     

  • 相关阅读:
    css 写一个三角形
    vue 知识汇总,中级阶段的。
    获取url参数封装的
    vue 知识点
    不换行css
    微信小程序的横向滚动
    git提交本地分支到远程分支
    linux shell head tail 用法简介
    PHP服务重启
    MongoDB用户创建
  • 原文地址:https://www.cnblogs.com/Jax/p/1091228.html
Copyright © 2020-2023  润新知