• 小步前进之WCF简介


    前言

    在 .NET Framework2.0 以及前版本中,微软发展了 Web Service.NET Remoting 等通信支持。

    如果要进行通信,对于开发人员来说,不同的选择会有不同的程序设计模型,且必须要重新学习,诸多不便。

    同时,面向服务架构(SOA)也开始盛行于软件工业中,

    因此微软重新查看了这些通信方法,并设计了一个统一的程序开发模型,对于数据通信提供了最基本最有弹性的支持,

    WCF应运而生。

    什么是WCF?

    WCF是由微软开发的一系列支持数据通信的应用程序框架,可以翻译为Windows 通讯开发平台。
    整合了原有的windows通讯的 .net Remoting,WebService,Socket的机制,并融合有HTTP和FTP的相关技术。
    是Windows平台上开发分布式应用最佳的实践方式。 --百度百科

    通俗的说,它提供了个基础,使其能够编写代码,以在组件、应用程序、系统之间通信。WCF的设计遵循的是面向服务的原则。

    服务是指可以通过消息与之交互的一段代码。

    服务是接收者,它被动等待传入消息才开始工作。客户端是发起者,客户端将消息发送给服务来请求工作。

    WCF有服务不能孤立地存在,需要寄宿于一个运行着的进程中,

    我们把承载WCF服务的进程称为宿主,为服务指定宿主的过程称为服务寄宿(Service Hosting),

    目前WPF、Asp.net、WinForm都是可以当做宿主寄宿的。

    契约

    WCF 的基本概念是以契约(Contract) 来定义双方沟通的协议,合约必须要以接口的方式来体现,而实际的服务代码必须要由这些合约接口派生并实现。

    合约

    数据契约 (Data Contract)服务契约(Service Contract)操作契约(Operation Contract)消息契约(Message Contract)
    订定双方沟通时的数据格式。订定服务的定义。订定服务提供的方法。订定在通信期间改写消息内容的规范

    代码示例:

    using System;
    using System.ServiceModel;
    namespace Microsoft.ServiceModel.Samples{
    [ServiceContract(Namespace = "http://Microsoft.ServiceModel.Samples")] // 服务契约
    public interface ICalculator
    {
    [OperationContract] // 操作契约
    double Add(double n1, double n2);
    [OperationContract] //操作契约
    double Subtract(double n1, double n2);
    [OperationContract] // 操作契约
    double Multiply(double n1, double n2);
    [OperationContract] //操作契约
    double Divide(double n1, double n2);
    }
    }
    

    参考WCF简单实例
    百度百科

  • 相关阅读:
    gt_argmax_overlaps = overlaps.argmax(axis=0) ValueError: attempt to get argmax of an empty sequence错误处理
    VS2013 "当前不会命中断点.还没有为该文档家在任何符号" 解决办法
    Spatial Transformer Networks
    1*1卷积
    how to detect circles and rectangle?
    opencv error: insufficient memory错误解决办法
    无人零售
    alt-opt and end2end
    开心的小明_动态规划
    国王和金矿问题_动态规划
  • 原文地址:https://www.cnblogs.com/ma-nong01/p/14323439.html
Copyright © 2020-2023  润新知