### WCF学习摘要 #### 统一资源标识URL与WCF中的通信协议 WCF(Windows Communication Foundation)作为Microsoft提供的一种框架,旨在帮助开发者构建安全可靠的面向服务的应用程序。WCF支持多种通信协议,其中最重要的是HTTP、TCP、命名管道(Named Pipes)、消息列队(MSMQ)等。 - **统一资源标识URL**:WCF中,每个服务都有一个唯一的标识符——统一资源标识(URL)。该URL用于指示服务的位置,并且是服务调用的基础。例如,`http://www.example.com/service.svc` 指示了一个位于example.com服务器上的名为service的服务。 - **TCP (传输控制协议)**:TCP是一种面向连接的协议,在WCF中用于建立可靠的、有序的数据流。它通过三次握手建立连接,四次挥手断开连接,确保数据的准确无误传输。其特点包括: - **基于连接的传输**:在数据传输前,客户端和服务端之间需通过三次握手建立连接;数据传输完成后,通过第四次握手断开连接。 - **有状态**:由于数据传输是在确定的连接中进行,因此可以保持每次数据传输的状态。 - **全双工通信**:一旦连接成功建立,数据就可以在两个方向上同时传输。 - **可靠通信**:TCP协议能够确保数据包的正确到达,即使底层的IP协议不提供可靠性保障。 #### 命名管道与.NET.Pipe - **命名管道(Named Pipes)**:这是一种跨进程通信的方式,特别适用于同一台计算机上的进程间通信。在WCF中,命名管道的URL格式为 `net.pipe://localhost/pipe/service`,其中`localhost`或`127.0.0.1`表示本地主机。这种方式仅限于本机通信,不能跨越网络。 #### 消息列队与.NET.MSMQ - **消息列队(MSMQ)**:MSMQ是微软的消息服务,提供了异步消息传递机制,对于提高系统的可扩展性和高可用性至关重要。在WCF中,可以通过`net.msmq://machine/queue`的形式指定消息队列的URL,其中`machine`表示主机名或IP地址,`queue`表示队列名称。MSMQ支持的消息队列分为本地队列和远程队列两种类型。 #### 终止点地址(EndpointAddress) - **EndpointAddress**:在WCF中,服务端点通过`System.ServiceModel.EndpointAddress`类表示,它是服务通信的基础。一个服务端点通常由三部分组成:地址、绑定和契约。地址(Address)定义了服务的实际位置;绑定(Binding)定义了服务如何通信,包括协议选择、消息编码和安全性设置;契约(Contract)定义了服务提供的操作及其参数。 - **地址**:指定了服务的位置,通常是URL形式。 - **绑定**:定义了服务通信的具体细节,如传输协议、消息编码、安全性设置等。 - **契约**:定义了服务对外提供的方法和数据结构。 WCF框架通过支持不同的通信协议和机制,使得开发者可以根据具体应用场景灵活选择最合适的通信方式。无论是需要高性能的TCP通信、局限于本机的命名管道通信,还是需要高可靠性的消息列队通信,WCF都能提供全面的支持。此外,通过明确指定服务的终结点地址、绑定和契约,WCF进一步简化了服务间的交互过程,提高了开发效率和应用程序的灵活性。
- 粉丝: 0
- 资源: 13
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助