ASMX WCF 比较

1.Net的Web Service主要有两种,ASMX的Web Service和WCF的Web Service.后者是前者的功能增强版.比如前者只支持http协议,只能建在IIS上,安全性也依赖于IIS等,后者还支持MSMQ, Enterprise Service(似乎主要是面向COM的)等,多了一些配置(如可以配置成双向的消息传送),可以设置多个EndPoint,这样对同一个服务,可以用不 同的方式访问.可以建在Windows Service上或控制台程序即所谓self-hosting.两者之间有几个中间产品,如附加了SOAP Extension和后期的WSE的ASMX Web Service.

2.Web service的基本概念是:客户端和服务端通过XML进行交互,在两头通过序列化和反序列化实现XML和对象的转换.服务端将供客户调用的接口用XML描述(如标准的WSDL),客户根据描述生成本地代理,通过代理向服务端发SOAP消息,调用服务.

3.ASMX Web Service

1)在IIS上的配置: 若是IIS6.0,需要建一个虚拟目录,指向asmx文件所在的目录.若是IIS7.0,则建一个新站点. 如果ASP.Net是在IIS之前装的,那么需要运行windows\microsoft.net\framework\v2.0.57(假设是用 asp.net 2.0)下的reg_iis.exe -i 注册asp.net. 若还不能识别asmx,需要在IIS里,将asmx和aspnet_isapi.dll关联.重启IIS后就可以正确解析asmx了.

2)基本结构: 服务端需要一个asmx文件,下面是个例子,内容很简单,就一个directive: < %@ WebService Language="C#" CodeBehind="~/App_Code/Service.cs" Class="Service" %> 真正的实现代码放在service.cs文件里.

原文地址:https://www.cnblogs.com/hakuci/p/2445848.html