原文:http://www.wcftutorial.net/Introduction-to-WCF.aspx
绑定和行为Binding and Behavior
绑定
简单的绑定定义描述了客户端是如何与服务端进行通信的,我们可以通过一个例子来理解。
想象一个场景,我将创建一个服务,有两种客户端需要来访问,一种是由HTTP通过SOAP来访问,另一种由TCP通过Binary来访问,如何实现这个服务端呢?通过Web Service的方式很难实现,但是通过WCF我们只需要在配置文件中添加一个终结点信息。
<system.serviceModel>
<services>
<service name="MathService" behaviorConfiguration="MathServiceBehavior">
<endpoint address="http://localhost:8090/MyService/MathService.svc" contract="IMathService"
binding="wsHttpBinding"/>
<endpoint address="net.tcp://localhost:8080/MyService/MathService.svc" contract="IMathService"
binding="netTcpBinding"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="MathServiceBehavior">
<serviceMetadata httpGetEnabled="True"/>
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
在WCF中就这么简单,微软将复杂的事情变的简单了。通过行为的作用范围区分,通用的行为影响所有的终结点,服务本身的行为影响改服务本身,终结点行为只影响终结点相关,操作级别的行为影响特定的操作
示例
下面是一个配置示例,我提到过服务作用域范围的行为,在此行为描述中有servieMetadata这个节点,并且它的一个属性是httGetEnabled='true',这个属性指示了服务元数据是否被公布,相似的我们可以添加更多行为。
<system.serviceModel>
<services>
<service name="MathService" behaviorConfiguration="MathServiceBehavior">
<endpoint address="" contract="IMathService" binding="wsHttpBinding"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="MathServiceBehavior">
<serviceMetadata httpGetEnabled="True"/>
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
注意
配置可以通过硬编码或者文件的方式进行,硬编码的方式可以覆盖使用配置文件的方式。
分享到:
相关推荐
PPT文件(如CON312.ppt、第33-35章WCF培训讲义.ppt、WCF简单介绍.ppt)通常包含详细的教程和演示,帮助开发者理解WCF的概念、配置和使用。它们可能涵盖服务宿主、配置文件、调试技巧以及高级特性,如事务处理、流...
**WCF服务编程第二章** Windows Communication Foundation (WCF) 是微软.NET框架中用于构建分布式应用程序的服务模型。在第二章中,我们将深入探讨WCF的核心概念、架构以及如何开始创建和配置基本的服务。这一章是...
**第二章:WCF 4的新特性** - **服务发现**:介绍如何利用WCF 4提供的服务发现机制来自动查找和连接服务。 - **路由服务**:讨论如何使用WCF 4中的路由服务来管理复杂的服务网络。 - **简化配置**:探讨如何利用WCF...
综上所述,WCF 2的第二章主要涵盖了服务契约的基础知识,特别是操作重载的概念及其实现方法。此外,还讨论了设计和分离服务契约的最佳实践,以及如何在运行时与契约元数据进行交互。这些知识点对于理解WCF服务编程的...
《WCF揭秘》是关于Windows Communication Foundation(WCF)的一本深入解析的书籍,第二章主要探讨了WCF的基础架构和实现方式。本压缩包包含了第二章中的示例代码,这些代码已经根据原书的错误进行了修正,为读者...
第二章可能深入探讨了如何实现这些安全特性,包括认证、授权、加密和消息完整性。 6. **服务配置**:WCF的配置文件(`.config`)是复杂但重要的部分,它允许开发者调整服务的行为。这部分可能会讲解如何编写和管理...
- 第32章:Windows通信基础(WCF) - 第33章:Windows工作流基础(WF) - 第34章:客户端应用程序服务 - 第35章:同步服务 - 第36章:WCF RIA服务 #### 第八部分:配置和资源 (Configuration and Resources) - 第37...
### 第二部分:Windows 编程 - **第15章:基本桌面编程**:展示了如何创建和管理Windows窗体应用程序。 - **第16章:高级桌面编程**:更进一步地讲解了Windows窗体,包括自定义控件和高级UI技术。 - **第17章:...
#### 第二章:数字墨迹技术 - **数字墨迹**是一种在电子文档上模拟真实笔迹的技术。 - **静态呈现**:是指将笔迹以图像形式固定下来的过程。 - **动态呈现**:指笔迹在电子设备上的实时交互效果,比如压力感应、...
- **第2章:XAML入门**:解释XAML的基础知识及其在Silverlight中的作用。 - **第3章:导航框架**:探讨如何使用Silverlight中的导航框架来构建多页面应用程序。 - **第4章:从服务器暴露数据:使用WCF RIA服务**:...
- **第35章:Windows Communication Foundation**:介绍WCF框架及其在服务导向架构(SOA)中的作用。 **36. Windows Workflow Foundation** - **第36章:Windows Workflow Foundation**:探讨WF框架如何帮助开发者...
第二章:C#语言基础 这一章主要讲解C#的基本语法,包括变量、常量、数据类型、运算符和表达式。学习者将了解如何声明和初始化变量,以及不同类型的数据如何在C#中使用。 第三章:控制流程 本章介绍了C#中的控制流程...
2. **第二章:HTML和服务器控件** - HTML控件与服务器控件的区别 - 常用服务器控件,如Button、Label、TextBox等的使用 - 使用GridView显示和操作数据 - CSS样式和JavaScript在ASP.NET中的应用 3. **第三章:...
- **第二部分:Windows编程**(第15章至第17章)讲解了使用C#进行Windows应用程序开发的方法和技术。 - **第三部分:Web编程**(第18章至第19章)涵盖了使用ASP.NET和Web服务进行Web应用开发的知识点。 - **第四部分...
#### 第二章:Silverlight 1与Silverlight 2的区别 - **版本差异**:Silverlight 1主要支持JavaScript脚本语言,用于简单的Web动画和用户界面设计;而Silverlight 2增加了对.NET Framework的支持,能够利用C#、VB...