WCF学习(1)概念和基础知识理解。

    由于以前从未接触过网络通讯,突然在这方面接到任务。因此放弃了五一的三天假期,在家潜心研究研究起WCF,在此记录自己的学习旅,以帮助和我一样对需要使用WCF做应用程训或对WCF有兴趣的菜鸟进行入门。

    技术储备:有2年C#开发经验,平常的工作主要使用ArcEngine做国土方面的工作,也没有做过web开发。对数据库的基本知识和操作有所了解。好了,开是我的学习之旅

   我感觉要学一门新的技术,首先必须弄懂与这个新技术的相关技术概念和这个技术的宏观思路。对于WCF也应该如此吧。

    Windows Communication Foundation (缩写WCF) 是Web技术和远程技术的替代品。使用WCF可以从简单的应用程序转向使用面向服务的体系结构(SOA)的应用程序。

     Web服务总是运行在IIS上,而WCF服务可以选择合适的主机进程。可以使用IIS运行WCF服务,也可以使用Windows服务或执行程序。如果使用TCP在本地网络上与WCF通讯,就不需要在运行服务的PC上安装IIS.

    一、 WCF通讯协议:在。Net3.5中定义了4个协议。

             HTTP:他允许与任何地方的WCF服务进行通信,包括Internet。可以使用HTTP通讯技术创建WCF Web服务。

             TCP: 允许与本地网络或Internet上的WCF服务通信。TCP比HTTP高效,功能也比较多,但配置起来比较复杂。

             指定的管道:WCF服务必须与调用代码位于同一台机器的不同进程上。

             MSMQ:是一种排队技术,允许应用程序发送的消息通过队列路由到目地。MSMQ是一种可靠的消息传输技术,可以确保发送给队列的消息一定达到该队列。MSMQ还是一种异步技术,所以只有排在前面的消息都处理完了,服务任有效时,才能处理当前的消息。

   二、   地址、端点和绑定:

             地址(Address):用于服务的地址类型取决于所使用的协议。(1)Http: http://<server>:<port>/<service>如果在IIs中存储服务,<service>就是扩展名为.SVC的文件。IIS地址可能包含比这个示例更多的子目录,即.SVC文件之前有更多用/字符分隔的部分。

 (2)TCP:net.tcp://<server>:<port>/<services>形式。(3)指定的管道:指定的管道连接的地址与上述类似。但没有端口号。其形式是net.pipe://<server>/<service>.

             端点(EndPoint):

             绑定(Bingding):绑定不仅指定了操作使用的传输协议,还可以指定在协议上通信的安全要求,端点的事物处理功能,消息编码等。目前主要包括:BasicHttpBinding、WSHttpBing、WSDualHttpBing、WSFederationHttpBinding、NetTcpBingding、NetNamePipeBinding、NetPeerTcpBinding、NetMsmqBinding、MsmqIntegrationBinding。

      三、契约(Contract)

             主要包括以下几种:服务契约、操作契约、消息契约、错误契约、数据契约

      四、消息模式

            消息模式在WCF中有三种类型:请求/响应消息传输,单向消息传输、双向消息传输。

      五、行为

              

      六、寄宿方式

          我们把承载WCF的进程称为宿主(Host),为服务指定宿主的过程称为服务寄宿(Service Hosting),

          WCF可以存储在几个不同的宿主中,包括:

                (1)Web服务器,基于IIS,提供更高级的功能,也可以集成IIS特性。(常用)

                 (2)可执行文件,可以寄宿在控制台、应用程序、Windows窗体应用程序和WPF应用程序中。(常用)

                 (3)Windows服务,可以使用Windows服务提供的有用特性,包括自启动和错误恢复。

                (4)Windows Activation Service(WAS)

       七、WCF程序的物理结构图

            

                
 

                 

       

             

  

发布了51 篇原创文章 · 获赞 9 · 访问量 16万+

猜你喜欢

转载自blog.csdn.net/mymhj/article/details/6386556