• C# WCF 之优势及特性


    Windows Communication Foundation(WCF)是由微软开发的一系列支持数据通信的应用程序框架,可以翻译为Windows 通讯开发平台。
    整合了原有的windows通讯的 .net RemotingWebServiceSocket的机制,并融合有HTTPFTP的相关技术。
    简单的归结为四大部分
    1>.网络服务的协议,即用什么网络协议开放客户端接入。
    2>.业务服务的协议,即声明服务提供哪些业务。
    3>.数据类型声明,即对客户端与服务器端通信的数据部分进行一致化。
    4>.传输安全性相关的定义。
    通信双方的沟通方式,由合约来订定。通信双方所遵循的通信方法,由协议绑定来订定。通信期间的安全性,由双方约定的安全性层次来订定。
     
    WCF 的基本概念是以契约(Contract) 来定义双方沟通的协议,契约必须要以接口的方式来体现,而实际的服务代码必须要由这些契约接口派生并实现。契约分成了四种:
    数据契约(Data Contract),订定双方沟通时的数据格式。服务契约(Service Contract),订定服务的定义。操作契约(Operation Contract),订定服务提供的方法。消息契约(Message Contract),订定在通信期间改写消息内 容的规范。
     
    WCF 实现上已经支持了传输层次安全性 (Transport-level security) 以及消息层次安全性 (Message-level security) 两种。
    传输层次安全性:在数据传输时期加密,例如 SSL。消息层次安全性:在数据处理时就加密,例如使用数字签名,散列或是使用密钥加密法等。
     
    优势:
    1,统一性
    它是由多种技术的整合,但仍然可以向.net一样面向对象代码编写,因为它采用托管代码编写方式。
    2,互操作性
    它采用SOAP通讯机制,保证了系统之间的互操作性,可以跨进程、跨机制。甚至跨平台通信,只要他支持web Service。
    3,安全与可靠性
    因为它包含多种协议,故有多种协议的安全机制,尤其是SOAP的。
    4,兼容性
    它可以在新旧平台上使用。
     
    例题
    一个简单的WCF实例。
    1,IService1定义一个方法,这个方法必须有契约标志。
     [OperationContract]
     string HelloWord();
    2,Service1.svc上的服务代码必须要由这些契约接口派生并实现
     public string HelloWord()
            {
                return "Hello WCF!";
            }
    3,运行 Service1.svc 若安装有WCF测试客户端,将会出现以下界面
     HelloWord()就是自己创建的一个方法,双击它。
    点击调用
    将会出现相关结果。
    4,还可以自己创建一个Windows窗体程序来调用这个服务。
    在这个窗体程序添加服务引用,如图
     
    添加成功后将会显示这个服务,如图:
     实现代码:
     ServiceReference1.Service1Client c = new WindowsFormsApplication1.ServiceReference1.Service1Client();
                string s = c.HelloWord();
                MessageBox.Show(s);
    运行后弹出一个提示框显示。
     
     
     
  • 相关阅读:
    Direct2D (6) : 绘制质量(设置抗锯齿模式)
    寂寞如此美丽:脱离Application_Start,让初始化代码更优美
    ASP.NET FormsAuthentication跨站点登录时绝对地址返回的问题
    将ASP.NET MVC中的form提交改为ajax提交
    WCF Web API 轻松实现 REST
    C# 正则表达式 —— 中文/英文空格(全角/半角空格)处理
    用 ASP.NET MVC 实现基于 XMLHttpRequest long polling(长轮询) 的 Comet
    [C#]科学计数法(scientific notation)显示为正常数字
    WCF异步调用实战:OneWay+Asynchronous Operation
    用 ASP.NET MVC 实现基于 Multipart XMLHttpRequest 的 Comet
  • 原文地址:https://www.cnblogs.com/anyihen/p/5507008.html
Copyright © 2020-2023  润新知