专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Web前端

您是否觉得.Net Web Service 中asmx文件是多余的

发布时间:2010-05-20 14:01:29 文章来源:www.iduyao.cn 采编人员:星星草
<script language="javascript">c_a_3();</script>
你是否觉得.Net Web Service 中asmx文件是多余的?
用.Net开发 WebService一般都会先添加一个.asmx文件,然后在其.cs文件里将类标记上WebService,WebMethod等特性来构建WebService。是否想过.asmx文件是多余的呢。?
其实.asmx即不像aspx一样用作UI,又不像.handler文件一样处理业务逻辑,它的存在就是多余。
使用Spring.Net构建WebService完全可以不需要.asmx文件,直接通过它的IoC容器将它注入到对外提供服务的类中即可。
本文将带你走进一个没有.asmx文件的WebService。
了解本机,需要对Spring.Net有一些基本的认识。我大致说说它的作用:

1、可以作用一种IoC(或者说的DI)的容器实现程序的解耦。

2、使用面前方面编程(AOP)的框架
3、对不同事务之间的处理可以使用同一的管理方式
4、提供验证框架用来做验证
如怎样配置Spring.Net。如果你对Spring.Net不够了解,请参见;http://www.cnblogs.com/tyb1222/category/270053.html
1、创建不依赖于asmx文件的WebService
首先通过Spring.Net创建不依赖具体asmx文件的Web Service .添加一个原始WebService的文件,只是通过Spring.Net的配置完成对具体文件的无依赖性。

配置如下图:


注意图中abstract=true,可以让Spring.Net避免创建多余的服务对象,Spring推荐这样做。
访问服务:


2、通过Spring.Net提供WebService服务

这种方式是本节叙述的重点。由于服务的松散耦合性,很多人都认为服务更适合使用接口进行规范。Spring.Net也是基于这一点来实现的。
首先我们定义服务接口(有点类似WCF中的服务契约,但无需标记ServiceContract等等任何标记)   接口定义:

服务实现没有什么特殊的地方,如下:

通过Spring.Net对服务进行配置:

此种方式除了需要配置处理amsx文件的Handler之外,还需配置httpModules模块,通过它来讲请求转发给Handler。


注意:使用Spring.NEt实现WebService时,在3.5平台上开发的服务能正常运行在4.0上有可能会有如下异常

但是在4.0上的服务,如果无参数又能正常运行。这通常是因为使用的Spring.Net版本不同导致。提醒注意。

代码下载:http://download.csdn.net/detail/tyb1222/4390053



友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: