WCF从零学习之WCF概述(一)

一.WCF概述

我先了解了分布式应用程序开发,所谓分布式应用程序是指应用程序分布在不同计算机上,通过网络来共同完成一项任务。通常为服务器/客户端模式。

在WCF发布之前,我们开发使用的应用程序使用多种现有的.NET Framework技术,比如:

(1)ASP.NET Web 服务(ASMX)。Web service

这种技用于与基于J2EE的现有预定应用程序,以及与Internet上的合作伙伴应用程序进行通信。因为目前大多数平台都支持基本的Web服务,所以在WCF发布之前,这是实现跨供应商互操作性的最直接的方法。

(2).NET Framework远程处理(.net remoting)

这种技术可用于与呼叫中心应用程序进行通信,因为二者都是建议在.NET Framework之上的。远程处理专门为紧密耦合的.NET到。Net通信而设计,因此它为本地网络中的应用程序提供了无缝而直接的开发体验。

(3)企业服务

企业服务仅仅支持有限的一组通信选项

(4)WSE(ASMX的加强版)

它实现了最新定义的一些Web服务协议(统称WS-*规范),因为只要相关所有应用程序都支持这些新规范的兼容版本,WSE就可提供更加灵活的Web服务安全性。

(5)Microsoft消息队列(MSMQ)

用于与基于Windows的合作伙伴应用程序进行通信,这些应用程序对数据传送、工作量分离以及应用程序生存期均要求有保证。消息队列提供持久稳定的消息传送,这通常是间歇式连接的应用程序的最佳解决方案。

由于建立在.NET Framework之上,虽然有这些通信技术中的多种技术才能满足其要求,但最终偶的应用程序实现起来将会很复杂,而且维护起来也很困难,于是WCF出现了。

那么什么是WCF呢?

定义:提供统一的,可用于建立安全、可靠地面向服务的应用的高效开发平台。

WCF就是针对这种繁杂却又切实存在的情况而设计的,是公开和访问服务的Windows应用程序的首选技术

WCF可使用Web服务进行通信,因此与同样支持SOAP的其他平台间的互操作性就变得简单了。

还可以对WCF进行配置和扩展,以便与使用并非基于SOAP对的消息(例如像RSS这种简单的XML格式)的Web服务进行通信。

性能是大多数业务中至关重要的考虑事项。开发WCF的目标就是要使它成为Microsoft所开发的速度最快的分布式应用程序平台之一。

管理对象生存期、定义分布式事务以及企业服务的其他方面的功能现在可以由WCF来提供。任何基于WCF的应用程序都可以使用这些功能。

WCF支持一个大的WS_*规范集,因此可在与同样支持这些规范的任何基于其他平台进行通信时帮助提供可靠性、安全性和事务。

建议在消息队列上的WCF排队消息选项使应用程序能够使用持久的排队,而无需使用另外一组应用程序编程接口。

介绍完了WCF之后,接下来就建立一个简单的WCF服务应用程序

 
 
分类: WCF

WCF从零学习之WCF概述(一)的更多相关文章

  1. WCF从零学习之设计和实现服务协定2

    WCF从零学习之设计和实现服务协定(二)   在创建服务协定之前,有很多WCF术语,比如: 消息.服务.终结点 创建协定 类或接口都可以定义服务协定,建议使用接口,因为接口可以直接对服务协定建模 服务 ...

  2. WCF通信简单学习实例

    最近在学习WCF通信,自己简单做个实例分享一下,环境是VS2015,使用的项目都是WPF的项目,其实大家用Winform或者Web项目也可以,都可以用的. 一.服务器端 1.创建WCF服务 服务名为W ...

  3. WCF分布式开发步步为赢(9):WCF服务实例激活类型编程与开发

    .Net Remoting的激活方式也有三种:SingleTon模式.SingleCall模式.客户端激活方式,WCF服务实例激活类型包括三种方式:单调服务(Call Service),会话服务(Se ...

  4. WCF分布式开发步步为赢(7):WCF数据契约与序列化

    本节继续学习WCF分布式开发步步为赢(7):WCF数据契约与序列化.数据契约是WCF应用程序开发中一个重要的概念,毫无疑问实现客户端与服务端数据契约的传递中序列化是非常重要的步骤.那么序列化是什么?为 ...

  5. WCF分布式开发步步为赢(4):WCF服务可靠性传输配置与编程开发

    今天继续WCF分布式开发步步为赢系列的第4节:WCF服务可靠性传输配置与编程开发.这个章节,我们要介绍什么是WCF服务的可靠性传输,随便介绍网络协议的概念,Web Service为什么不支持可靠性传出 ...

  6. WCF分布式开发步步为赢(3)WCF服务元数据交换、配置及编程开发

    今天我们继续WCF分布式开发步步为赢(3)WCF服务元数据交换.配置及编程开发的学习.经过前面两节的学习,我们了解WCF分布式开发的相关的基本的概念和自定义宿主托管服务的完整的开发和配置过程.今天我们 ...

  7. VC++学习之GDI概述

    VC++学习之GDI概述 图形设备接口(GDI)是一个可执行程序,它接受Windows应用程序的绘图请求(表现为GDI函数调用),并将它们传给相应的设备驱动程序,完成特定于硬件的输出,象打印机输出和屏 ...

  8. WCF分布式开发步步为赢(14):WCF安全编程--基本概念

    WCF安全机制是个非常复杂的问题,因为涉及的知识点较多,所以今天这个文章,会分析进行WCF安全开发应该了解的哪些知识点.如何查看资料.为了更好地理解WCF安全相关知识,我把WCF安全机制主要知识点整理 ...

  9. WCF分布式开发步步为赢(13):WCF服务离线操作与消息队列MSMQ

    之前曾经写过一个关于MSMQ消息队列的文章:WCF分布式开发必备知识(1):MSMQ消息队列 ,当时的目的也是用它来作为学习WCF 消息队列MSMQ编程的基础文章.在那篇文章里,我们详细介绍了MSMQ ...

随机推荐

  1. Extjs4.1MVC详细解释

    :http://xiebaochun.github.io/ app.js [javascript] view plaincopyprint? Ext.onReady(function(){ Ext.Q ...

  2. int 价值型追记-time

    一个 30 M 的int号码值一次性保存.和读取一次,避免保存为char 种类,进行格转变,格转换时间是非常耗时. #include <iostream> #include <fst ...

  3. 仅当使用了列的列表,并且 IDENTITY_INSERT 为 ON 时,才能在表中为标识列指定显式值问题

    今天在处理数据库过程中碰到这样的问题在插入一条数据到表中 系统报这样的错误 仅当使用了列的列表,并且 IDENTITY_INSERT 为 ON 时,才能在表中为标识列指定显式值问题 表有一列是自增长的 ...

  4. ROOT android 原理。 基于(zergRush)

    出自: http://bbs.gfan.com/android-2996211-1-1.html 须要ROOT的同学请去上面的地址下载. a.控制手机创建个暂时目录,然后把zergRush脚本写入此目 ...

  5. linux-ubuntu关闭防火墙

    SYNOPSIS iptables [-t table] {-A|-C|-D} chain rule-specification ip6tables [-t table] {-A|-C|-D} cha ...

  6. [CLR via C#]5.1 基元类型

    原文:[CLR via C#]5.1 基元类型 某些数据类在开发中非常常用,以至于许多编译器允许代码已简化的语法来操作它们.例如可以使用以下语法来分配一个整数: System.Int32 a = ne ...

  7. 使用ButterKnife无法inject view的解决办法

    使用ButterKnife做android开发时,发现无法inject,如下,tvInfo总是null. @InjectView(R.id.textView1Info) TextView tvInfo ...

  8. PHP激活用户注册验证邮箱

    本文将结合实例介绍如何使用PHP+Mysql完成注册帐号.发送激活邮件.验证激活帐号.处理URL链接过期的功能. 注册邮箱激活流程 <ul class='ul_demo''> <li ...

  9. How to: Installshield做安装包时如何添加文件

    原文:How to: Installshield做安装包时如何添加文件 我一直以为这不是一个问题,可是没想到在几个群内,对于如何向安装包添加文件不解的大有人在,今日稍暇,整理成篇,以供参考 首先我想再 ...

  10. php 解析xml 的四种方法

    XML处理是开发过程中经常遇到的,PHP对其也有很丰富的支持,本文只是对其中某几种解析技术做简要说明,包括:Xml parser, SimpleXML, XMLReader, DOMDocument. ...