彩票走势图

ASP.NET中WCF与ASMX的兼容性分析

原创|其它|编辑:郝浩|2009-07-29 14:29:39.000|阅读 654 次

概述:本文介绍ASP.NET中WCF服务与ASMX服务的兼容性,在ASP.NET应用程序中,目前主要存在两种软件技术可以用来构建服务,即ASMX Web服务和WCF服务。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

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

[ServiceContract]  
[AspNetCompatibilityRequirements(  
RequirementsMode=AspNetCompatibilityRequirementsMode.Allowed)]  
public class TimeService  
{  
……  

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

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

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

<system.serviceModel> 
:  
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" /> 
</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后端服务的原因。 以上介绍WCF服务与ASMX服务的兼容性。


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:IT专家网

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP