wcf 速成,转的啊 第一天

作为WCF速成系列,只介绍些项目开发中常用到的实战知识。

 

学习wcf,还是对其中的几个术语要了解一下。wcf中有一个ABC的概念,就是

           第一: "A" 是地址,就是告诉别人我wcf在何处。

           第二: "B"是绑定,就是告诉别人应该走什么路才能过来。

           第三: "C"是契约:就是告诉别人我wcf这里有哪些东西。

 

项目开发中常用到的三种绑定:

          第一:wsHttpBinding,   这个binding可以认为是webservice的加强版WSE,设计的目的就是用于异构系统的交互(比如java)。

          第二:netTcpBinding,   这个binding可以认为是remoting的加强版,设计的目的就是用于不同机器的.net 程序交互,

          第三: netMsmqBinding,  这个binding可以认为是msmq的加强版本,设计目的就是脱机环境下不同机器的.net程序交互,确保信息不丢失。 

      

下面对前二种binding的实际代码运用。

 

   wsHttpBinding:

    第一步:新建一个类库,分别建立IFly和People文件,也就是完成wcf中的“C"工作,

 

 

    第二步: 既然”C"已经出来了,那么她必须要有承载她的环境,也就是所谓的“宿主”。这里用console来承载。

                 新建console程序。

               

   第三步:现在服务处于预开启状态,为了让wcf更加灵活,更加容易控制,就要将相关配置写入到config里面。

              在console类库中新建一个config文件,最后运行console程序正式启动。代码图如下:

            

 

最后:  wcf已经开启,正在监视着address,然后我们就是先建一个console的Client程序,“引用”中“点击右键”添加服务引用。

 点击“确定”后,引用完成,接下来,我们调用wcf就像调用本地程序一样那么简单。哈哈.

 

 

 netTcpBinding:

       如果大家看懂了wsHttpBinding如何使用,那么改成netTcpBinding将会是轻而易举。 因为只要修改两个地方即可。

 

           第一:修改配置文件中的endpoint地址。

 

        第二: 更新下客户端的“服务引用”,然后运行看下效果图。

 

 

哈哈: 现在知道wsHttpBinding和netTcpBinding直觉上的差异了吧。

 

 netMsmqBinding:

  如果大家了解了上面的两种binding,就试试用msmqbinding吧,这也是我在系列中第二天要分享的内容。

posted @ 2013-12-06 16:44  黄煜坤  阅读(242)  评论(1编辑  收藏  举报