简述WebService与.NET Remoting的区别及适应场合 WCF
Web Service大体上分为5个层次:
1. Http传输信道
2. XML的数据格式
3. SOAP封装格式
4. WSDL的描述方式
5. UDDI
一般来讲在.NET结构下的WebService应用都是基于.net framework以及IIS的架构之下,所以部署(Dispose)起来相对比较容易点.
其次所暴露的方法前面必须有[WebMethod]或者[WebMethodAttribute]
首先客户端从服务器的到WebService的WSDL,同时在客户端声称一个代理类(Proxy Class)
这个代理类负责与WebService服务器进行Request 和Response
当一个数据(XML格式的)被封装成SOAP格式的数据流发送到服务器端的时候,就会生成一个进程对象并且把接收到这个Request的SOAP包进行解析,然后对事物进行处理,处理结束以后再对这个计算结果进行SOAP包装,然后把这个包作为一个Response发送给客户端的代理类(Proxy Class),同样地,这个代理类也对这个SOAP包进行解析处理,继而进行后续操作。
WebService的特点是:平台独立性(Platform-independent)、跨语言(只要能支持XML的语言都可以) 以及穿透企业防火墙;
net webservice是基于http的是无状态的;
但是它的缺点也很明显,就是需要部署一台Web Server;而且速度比较慢;
他的优点是用户既可以使用TCP信道方式进行二进制流方式通信,也可以使用HTTP信道进行SOAP格式的性通信
效率相对WebService要高不少;
remoting可以用于有状态的情况;
但是它的缺点也很明显,.net remoting只能应用于MS 的.net framework之下。
如果互动双方都是支持 .NET技术的环境,并且在操作系统上能提供一致的验证机制,而且很重视沟通双方作业的效率,就是 .NET Remoting上场的时机。相反的,如果沟通双方是异质环境,又或沟通的模式就是无状态的情况,持续进行的互动作业前后是没有关联的,Web Service就是理想选择了。
本文出自 “周公(周金桥)的专栏” 博客,请务必保留此出处http://zhoufoxcn.blog.51cto.com/792419/166990
简述WebService与.NET Remoting的区别及适应场合 WCF的更多相关文章
- webservice和.net remoting浅谈
服务器端向客户端发送一个进程编号,一个程序域编号,以确定对象的位置. webservice和.net remoting都是用来通信的框架,它们最大的优点是可以像调用本地对象一样调用远程对象,比如: ...
- 简述WebService的使用(二)
上集回顾 上一篇我简单的介绍了一下整个WebService建立和后端访问的过程,如果感兴趣可以看一看:简述WebService的使用(一) //如有不懂请留言,觉得有用请点赞 内容提要 这一篇主要介绍 ...
- 浅析WCF与WebService、WPF与Silverlight 区别
由于在<Windows服务调用Quartz.net 实现消息调度>中,涉及到ASP.NET Web Service //WebServiceSoapClient client = new ...
- WCF、WebAPI、WCFREST、WebService、WPF之间的区别
在.net平台下,有大量的技术让你创建一个HTTP服务,像Web Service,WCF,现在又出了Web API.在.net平台下,你有很多的选择来构建一个HTTP Services.我分享一下我对 ...
- 简述Session 、Cookie、cache 区别
区别: 1.session是把数据保存在服务器上,每一个用户都有自己的session. 2.cookie是保存在客户端(也就是本机电脑). 3.cache是保存在服务器上,每个用户都可以访问的对象. ...
- 简述WebService的使用(一)
环境: vs版本:vs2013 windows版本:win7 IIS版本:IIS7.0 (如果觉得对您有用,请点击右下角[推荐]一下,让更多人看到,谢谢) 配置环境: 主要针对于IIS ·首先,有很多 ...
- 简述.jpg .Gif .png-8 .png-24的区别
最近有很多朋友在开发过程中有时候会遇到图片加载不清晰,透明度失真,或者对图片进行操作之后造成图片损耗的现象,在这里给大家简单介绍一下常用的几种图片格式之间的区别 Gif格式特点: 1.透明性,Gif是 ...
- AJPFX简述abstract class和interface的区别
含有abstract修饰符的class即为抽象类,abstract类不能创建的实例对象.含有abstract方法的类必须定义为abstract class,abstract class类中的方法不必是 ...
- 简述alert和console.log的区别
生活中还是得有发现美好和差别的眼睛~~ 学习前端那么久既然还不知道alert和console.log的差别~~~~ 蓝瘦,香菇~~~ 本菜鸟一直以为alert和console.log其实是一样的用法, ...
随机推荐
- ubuntu eclipse CDT 问题
问题一:ubuntu eclipse c++ launch failed binary not found 解决:建完项目后 查看在项目中是不是有debug目录,说明没有编译.仅仅是须要做例如以下操作 ...
- [Javascript] Advanced Reduce: Flatten, Flatmap and ReduceRight
Learn a few advanced reduction patterns: flatten allows you to merge a set of arrays into a single a ...
- 招一位安防软件project师,嵌入式开发project师
岗位职责 1.负责海思平台IPC产品应用层软件设计及维护 2.私有平台协议对接及为第三方提供技术支持. 任职资格: 1.较强的学习.领悟能力,能够高速熟悉公司现有代码. 2.熟练掌握C.C++开发语言 ...
- Java 编程的动态性,第 6 部分: 利用 Javassist 进行面向方面的更改--转载
本系列的 第 4 部分和 第 5 部分讨论了如何用 Javassist 对二进制类进行局部更改.这次您将学习以一种更强大的方式使用该框架,从而充分利用 Javassist 对在字节码中查找所有特定方法 ...
- git clone之后自动checkout文件处理
这个问题发生是因为不同操作系统的行结束符不一致导致的,可在clone之后在仓库根目录修改.gitattributes文件 简单处理的话,注释* text=auto这行即可.也可根据不同系统,做相应设定 ...
- hdu 4772
题意:给你两个矩阵,一个矩阵旋转90度,180度,270度, 然后和另外一个矩阵进行比较,如果对应值相同,则加一,最后得出最大的值 题目没什么难度....主要是纪念下....貌似这一题是当时比赛前一个 ...
- sql server根据日期或者月份查询聚合数据
/*****************************根据时间查询每天的数据***************************************/ @tm_start:开始时间 @tm ...
- html图像入门
在HTML中,图像由<img>标签定义. <img>是空标签,意思是说,它只包含属性,并且没有闭合标签. 要在页面上显示图像,需要使用源属性src, src指的是"s ...
- PHP 单链表
<?php class Hero { public $no; public $name; public $nickname; public $next=null; public function ...
- php获取某个目录下面文件的内容
if(!defined('PATH'))define('PATH', dirname(dirname(__FILE__)).'/');ini_set ( 'include_path', '.:' . ...