ASP.NET中WCF服务与ASMX服务的兼容性

开发 后端
本文介绍asp.net中WCF服务与ASMX服务的兼容性,在asp.net应用程序中,目前主要存在两种软件技术可以用来构建服务,即ASMX Web服务和WCF服务。

根据前面的操作得知,当为asp.net AJAX程序创建一个新的WCF服务时,默认情况下该服务类前面使用AspNetCompatibilityRequirements属性进行修饰。现在,我们来作一下简要分析。

ASP.NET中WCF服务与ASMX服务的分析:

  1. [ServiceContract]     
  2. [AspNetCompatibilityRequirements(     
  3. RequirementsMode=AspNetCompatibilityRequirementsMode.Allowed)]     
  4. public class TimeService     
  5. {     
  6. ……     
  7. }    

虽然在设计上可以进行独立传输,但当应用于一个asp.net AJAX应用程序环境下时,WCF服务实际上可以工作在一种十分类似于ASMX服务的方式下。借助于这个AspNetCompatibilityRequirements属性,我们可以指示WCF使用与ASMX服务相同的模型进行工作。实际情况下,这个设置指示当激活一个WCF服务时,运行时刻将对声明的端点进行检查并确保它们都使用了Web HTTP绑定模型。

与ASMX服务的良好兼容性可以使得在WCF服务中访问asp.net对象例如HttpContext对象以及其它内在的asp.net对象完全有可能。

注意,要实现ASP.NET中WCF服务与ASMX服务的兼容性至少要实现两点。***,在配置文件web.config中,需要进行类似如下的声明式定义:

  1. < system.serviceModel>    
  2. :     
  3. < serviceHostingEnvironment aspNetCompatibilityEnabled="true" />    
  4. < /system.serviceModel>   

第二,开发者需要显式地选择一个给定WCF服务的兼容性方式,这是通过使用服务AspNetCompatibilityRequirements属性完成的。

在asp.net AJAX应用程序中请求的服务要求必须进行相应的服务器端配置。归纳看来,在asp.net应用程序中,目前主要存在两种软件技术可以用来构建服务,即ASMX Web服务和WCF服务。其中,WCF服务已经包括了ASMX Web服务。但是,必须明确:AJAX通信要求使用JSON数据字符串实现数据在客户端与服务器的来回传输。在asp.net AJAX扩展1.0时代或者在asp.net 3.5中调整asp.net运行时刻使ASMX Web服务支持JSON是一项比较容易的任务。但是,针对更为丰富的WCF服务要求实现JSON数据格式的传输则要略微复杂一些。这也正是为什么仅仅在asp.net 3.5中才可以使用WCF构建AJAX后端服务的原因。 以上介绍ASP.NET中WCF服务与ASMX服务的兼容性。

【编辑推荐】

  1. ASP.NET1.1验证码产生的原理及应用
  2. 静态文件处理:ASP.NET1.1和ASP.NET2.0对之不同
  3. 在ASP.NET中执行windows程序(ASP.NET1.1)
  4. 对asp.net1.1开发模板类的修改说明
  5. 用ASP.NET连接Oracle9i(ASP.NET1.1)

责任编辑:book05 来源: IT专家网
相关推荐

2009-07-27 18:00:14

WCF服务与ASMX服ASP.NET

2009-07-27 17:54:39

WCF服务ASP.NET

2009-07-20 17:39:36

WCF服务ASP.NET AJA

2009-07-27 17:38:30

WCF服务ASP.NET 3.5

2009-07-21 09:53:55

ASP.NET AJAWCF服务

2009-07-27 17:51:58

WCF服务ASP.NET

2009-07-27 17:46:42

WCF服务ASP.NET应用程序

2009-12-08 16:59:52

WCF服务

2009-04-07 16:21:35

ASP.NETAJAXWCF

2009-07-28 15:53:43

ASP.NET Web

2009-07-28 16:03:23

ASP.NET状态服务

2009-04-21 09:37:50

ASP.NETAjaxJavaScript

2009-03-02 13:56:29

2010-02-26 10:30:03

ASP.NET Aja

2009-07-23 15:11:43

XML Web服务方法ASP.NET

2009-07-23 15:18:30

创建XML Web服务ASP.NET

2009-07-28 17:34:28

ASP.NET XML

2009-07-28 16:29:06

XML Web服务ASP.NET构造

2009-07-10 09:41:08

WCF服务配置.NET 4.0

2009-08-10 14:08:15

ASP.NET服务器控ASP.NET组件设计
点赞
收藏

51CTO技术栈公众号