`

第三章:WCF架构

    博客分类:
  • WCF
wcf 
阅读更多
原文:http://www.wcftutorial.net/Introduction-to-WCF.aspx

WCF架构WCF Architecture

下面这张图展示了WCF的主要组件



契约

契约层在应用层的隔壁。开发者直接应用契约去开发服务。我们现在也准备做同样的事情。让我们简单的看看契约能够为我们做什么,我们将会发现WCF是基于消息系统进行工作的。

服务契约

描述了服务可以提供的操作。例如,有一个基于zip码的提供城市温度的服务,这个服务我们称之为服务契约。使用Service和Operational契约特性。

数据契约

描述了服务端公布给客户端的自定义数据类型。定义了数据类型,用来在服务和客户端之间交互。int,string数据类型可以被客户端识别,因为它们已经定义在了XML Schema语言定义文档中了,但是自定义类或者数据类型无法被客户端识别,像Employee类型。通过使用DataContract,我们可以在和客户端的交互中,使用Employee作为参数或者返回值。

消息契约

WCF运行时在客户端和服务端进行交互的时候默认提供SOAP消息格式。如果这不符合你的需求,我们可以创建自己的消息格式,使用MessageContract可以达到这个目的

策略和绑定

指定和服务端交互使用的条件。比如安全策略,绑定的编码格式。

服务运行时
包含服务运行过程中的行为。
  限流行为-控制多少数据可以被处理。
  错误行为-指定错误发生时如何处理。
  元数据行为-指出外界可以识别多少元数据。
  实例行为-指定运行时可以创建多少实例。
  事务行为-当发生错误的时候,可以被回滚。
  分发行为-WCF架构控制消息如何被处理。

消息

消息层由各种信道组成。一个信道就是一个如何处理消息的组件,例如:认证消息。信道集合也被称作信道栈。信道是从终结点发送和接受信息的关键抽象。大体上我们可以将信道分成以下两类。
  传输信道
    从网络上面接受或者发送信息,使用HTTP,TCP,命名管道和MSMQ技术。
  协议信道
    实现了基于SOAP的协议,并且可以被修改,比如WS-Security和WS-Reliability

激活和托管

服务可以被托管或者执行,所以可以被任何人从客户端访问。WCF服务可以被托管在下列机制中。
  IIS
    如果服务端使用HTTP作为协议的话,Internet信使服务提供了很多好处。它不需要去写代码让服务启动,它会自动的去激活服务代码。

  Windows激活服务(Windows Activation Service)
    WAS是一种新的处理激活机制,和IIS7.0一起的(ship with IIS7.0)。另外除了可以基于HTTP,WCF还可以使用WAS提供基于其他协议的消息激活,比如TCP和命名管道。

  自承载(self-hosting)
    WCF服务可以被自承载在控制台应用程序,WinForm应用程序或者WPF应用程序等图形界面的应用程序中。

  Windows服务(Windows Service)
    WCF可以被托管在Windows服务中,这样就可以被服务控制管理进程(SCM)程序管理了。
分享到:
评论

相关推荐

    构建WCF面向服务的应用程序系列课程(1):WCF概要

    **WCF(Windows Communication Foundation)**是微软推出的一种面向服务的架构,用于构建分布式应用程序,它结合了消息传递、编程模型、配置和运行时组件,为开发者提供了强大的服务开发工具。在本系列课程中,我们...

    Windows Vista 黄金周系列课程(7):WCF(III)-Windows Communication Foundation高手入门

    在Windows Vista黄金周系列课程的第七部分,我们将深入探讨WCF这一高级通信框架,它是构建企业级服务的基础,旨在简化跨平台和跨网络的通信。 **WCF基础概念** 1. **服务导向架构**:WCF基于服务导向架构(SOA),...

    Windows Vista 黄金周系列课程(6):WCF(II)-Windows Communication Foundation的A、B、C

    1. WCF架构概述:介绍WCF的基本组件和工作流程。 2. 创建第一个WCF服务:通过实例演示如何从零开始创建一个简单的WCF服务。 3. 绑定和配置:详细讲解各种预定义绑定的使用,以及如何自定义绑定。 4. 服务合同:讨论...

    Apress Pro WCF 4

    **第三章:探索WCF编程模型** - **服务端编程**:讲解如何定义服务接口、实现服务操作以及配置服务宿主。 - **客户端编程**:介绍如何创建客户端代理类以调用远程服务。 - **数据合同与消息合同**:解释数据合同和...

    WCF技术剖析(卷1)

    1. **服务导向架构(SOA)基础**:WCF设计的核心理念是基于服务导向架构,它允许不同的系统通过定义良好的接口进行交互。理解SOA的基本原则对于有效利用WCF至关重要。 2. **服务契约**:在WCF中,服务契约定义了...

    C#WCF和HTTP文件传输练习.zip

    WCF是一种服务导向架构,它允许开发者构建高度可配置、安全、可靠且可伸缩的服务。在本项目中,我们将用WCF创建服务端,它将作为文件服务器,提供文件下载的功能。创建WCF服务应用程序时,我们需要定义服务接口,这...

    我的第一个WCF程序:HelloInDigo

    【标题】"我的第一个WCF程序:HelloInDigo"是一个初学者的实践项目,它展示了如何使用Windows Communication Foundation(WCF)技术创建一个简单的服务。WCF是.NET框架的一部分,用于构建分布式、面向服务的应用程序...

    wcf从原理到实践(试读)

    - **加密**:通过对消息进行加密处理,保护敏感信息不被未经授权的第三方截取。 **可靠性** - **事务支持**:WCF内置了对事务的支持,可以确保服务调用的一致性和原子性。 - **持久化**:对于需要长期存储的数据,...

    WCF服务编程中文版 PDF(5)

    通过WCF,开发者可以构建面向服务的应用程序,这些应用程序能够跨平台、跨网络进行通信,实现了SOA(Service-Oriented Architecture,面向服务架构)的理念。 本PDF教程共分为7卷,虽然由于上传限制每卷不超过20MB...

    WCF服务编程(pdf)

    1. **WCF基础**:第一章可能介绍WCF的基本概念,包括服务导向架构(SOA)、消息交换模式(如请求/响应、发布/订阅)以及WCF服务的基本组件,如终结点、绑定和合同。 2. **服务创建与托管**:这部分可能涉及如何定义...

    第一个wcf学习实例_VS2010版

    **WCF(Windows Communication Foundation)**是微软.NET框架下的一种面向服务的通信技术,它为构建和部署可互操作、安全、可靠且可扩展的分布式应用程序提供了统一的基础架构。VS2010(Visual Studio 2010)是微软...

    WCF小实例[包括WCF事务编程]

    - **服务导向架构**: WCF基于服务导向架构(SOA),允许服务和客户端之间通过标准协议进行通信。 - **绑定**: 绑定定义了服务和客户端之间通信的具体方式,如HTTP、TCP、MSMQ等。 - **终结点**: 服务对外暴露的接口,...

    wcf揭秘第二章代码(修改了源代码的错误)

    《WCF揭秘》是关于Windows Communication Foundation(WCF)的一本深入解析的书籍,第二章主要探讨了WCF的基础架构和实现方式。本压缩包包含了第二章中的示例代码,这些代码已经根据原书的错误进行了修正,为读者...

    WCF入门教程,我的第一个WCF

    **Windows Communication Foundation (WCF) 入门教程:我的第一个WCF** Windows Communication Foundation(WCF)是微软.NET Framework中的一个关键组件,用于构建高度可配置、安全、可靠的分布式应用程序。它提供...

    我的WCF之旅

    **WCF(Windows Communication Foundation)**是微软推出的一种面向服务的架构,用于构建高度互操作的、分布式的、安全的网络应用程序。它整合了.NET框架的多种通信技术,如Remoting、Web Services、Enterprise ...

    构建WCF面向服务的应用程序系列课程(15):扩展性.zip

    在本课程中,我们将深入探讨Windows Communication Foundation (WCF) 的面向服务应用程序的构建,特别是关注第15部分——扩展性。WCF是.NET Framework中用于创建分布式应用程序的服务框架,它提供了一种统一的方式来...

    WCF培训资料以及说明

    ### 第三章 WCF编程(契约) #### 第一节 什么是契约 契约是定义服务接口的规范,它定义了服务提供的操作及其输入、输出参数。 #### 第二节 契约有几种?他们都有什么用途 WCF中的契约主要有三种类型:服务契约...

Global site tag (gtag.js) - Google Analytics