有关WCF的初探

   第一次在这个陌生的地方写东西,自己做项目的一点点经验,还望大家别都砸砖头。。 

  初次接触这个项目,也是第一次接触WCF,刚开始完全不懂它是干什么的,慢慢的了解到它是一种架构,类型于三层一样的东西,也可以说是三层的一种升级版吧。WCF和三层的比较:在WCF中DAL层和业务逻辑层都在一个层里,业务逻辑层会被单独出来用一个叫服务的类文件取代,而构建这个WCF类别的方法就是,在要构建WCF服务的文件下右击,添加新项目/类别 选WCF服务即可,它会自己产生两个文件,一个是在你给的文件名前加了I的,一个是你给的文件名,两个都是.CS文件,一个表示接口,一个继承这个接口。它还会在APP.Config文件中自动产生一段http协议。假如我们给要加WCF服务的文件,起的名字为test,那么它会产生一个Itest.cs文件和test.cs文件,我们要在Itest.cs文件文件写你要实现的方法名,在test.cs文件下写你要实现的方法,调用DAl文件夹下的底层实现方法,以处理对表的增删改查及其他操作。这样就完成了在这一层的添加操作,写好方法后,如何在web层实现调用呢?在web层下的Service References文件下右键,加入服务参考……,搜索,或把APP.config下自动产生的那段http地址复制过来定位也可以,写服务名,添加就可以把服务加入到web层了,如果搜索不到要添加的服务,试着找找看是不是服务的配置信息哪里写的不对,或者要注意,那个空间名是否有写正确,如果还是不行,就把服务所在的层建置一下在试着搜索下看看,一般应该就可以解决了。

服务加完了,怎么在web层的页面的.cs文件下面使用呢?

首先要用using指令把这个服务引用到你要使用的文件的.cs文件下,在要使用的时候要实例一个你那个服务名加Client的类名,这个表示是在客户端使用的吧(我是这么理解的),再用你实例化得那个名字调用你服务里写的方法就可以了,想想也和三层差不多,只是它把bll层的方法更好的封装起来了,不像三层那样如果你在web层中移至定义时就能看到bll层甚至dal层的方法,而在WCF中 你只能看到方法的定义,看不到方法是怎么来实现的。我就知道这个好处别的不知道了 ,还处于学习阶段,一起努力吧。

忘了说一个东西,就是我们这个项目里有个Gateway的东西,在它下面有个Gateway.vb的文件,建好的服务还要在它里面定义一个host,并打开。

 

  自己怎么搭建一个Wcf服务的网站应用,新建一个空白的专案,新建一个wcf类库用于放bll和dal类的方法集,再新建一个web网站,在wcf里放wcf的服务。在dal文件里放访问数据库的类,把写好的wcf服务加入到web就是把wcf和web关联的方法。其他文件可自行追加。关于Gateway的建立还有待研究。

  最后我发现有好多大的网站已经公开了一些可用的WCF服务,我们就可以在我们的项目中直接调用。提供一个自己找的提供此类服务的地址给大家参考:http://www.webxml.com.cn/zh_cn/support.aspx

posted @ 2011-11-17 14:22  丿暖。风?  阅读(199)  评论(0)    收藏  举报