原文:http://www.wcftutorial.net/Introduction-to-WCF.aspx
绑定的配置
配置绑定可以通过配置文件或者程序编码的方式进行,让我们看看两种不同的方式是如何进行的吧。
Administrative (配置方式):
在托管程序的配置文件中,你可以在<system.serviceModel>中添加节点<bindings>,并且添加特定的绑定类型到该节点的属性中。特定绑定类型的属性如下所示。绑定的名称属性将会在终结点信息中使用。
<system.serviceModel>
<services>
<service name="MyService">
<endpoint address="http://localhost/IISHostedService/MyService.svc"
binding="wsHttpBinding" bindingName="wshttpbind" contract="IMyService">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
</services>
<bindings>
<wsHttpBinding>
<binding name="wshttpbind" allowCookies="true" closeTimeout="00:01:00"
receiveTimeout="00:01:00" />
</wsHttpBinding>
</bindings>
</system.serviceModel>
Programming Model:
在下面的代码中,我创建了一个WSHttpBinding的对象,并且赋值了需要配置的属性。这个绑定对象将会添加到Service的终结点中,用来与客户端进行通信。相类似的,你可以创建任何种类的绑定,并且添加到终结点中。
//Create a URI to serve as the base address
Uri httpUrl = new Uri("http://localhost:8090/MyService/SimpleCalculator");
//Create ServiceHost
ServiceHost host =
new ServiceHost(typeof(MyCalculatorService.SimpleCalculator), httpUrl);
//Create Binding to add to end point
WSHttpBinding wshttpbind = new WSHttpBinding();
wshttpbind.AllowCookies = true;
wshttpbind.CloseTimeout = new TimeSpan(0, 1, 0);
wshttpbind.ReceiveTimeout = new TimeSpan(0, 1, 0);
//Add a service endpoint
host.AddServiceEndpoint
(typeof(MyCalculatorService.ISimpleCalculator), wshttpbind, "");
//Enable metadata exchange
ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
smb.HttpGetEnabled = true;
host.Description.Behaviors.Add(smb);
//Start the Service
host.Open();
Console.WriteLine("Service is host at " + DateTime.Now.ToString());
Console.WriteLine("Host is running... Press key to stop");
Console.ReadLine();
注意:将绑定的属性配置在配置文件中是个最好的选择,因为当你将服务部署到生产环境中的时候,不需要更改代码了并且重新编译。所以使用配置文件是好的编程实践。
分享到:
相关推荐
在“20070924--构建WCF面向服务的应用程序系列课程(1):WCF概要.pdf”这份资料中,你将获得WCF的基础知识,包括其核心概念、创建服务的基本步骤以及如何开始你的第一个WCF项目。通过学习这个系列课程,你将能够熟练...
在Windows Vista黄金周系列课程的第七部分,我们将深入探讨WCF这一高级通信框架,它是构建企业级服务的基础,旨在简化跨平台和跨网络的通信。 **WCF基础概念** 1. **服务导向架构**:WCF基于服务导向架构(SOA),...
PPT文件(如CON312.ppt、第33-35章WCF培训讲义.ppt、WCF简单介绍.ppt)通常包含详细的教程和演示,帮助开发者理解WCF的概念、配置和使用。它们可能涵盖服务宿主、配置文件、调试技巧以及高级特性,如事务处理、流...
在本系列课程的第一部分,我们将深入探讨WCF的基本概念和核心组件。 1. **服务契约和服务接口** WCF中的服务契约定义了服务提供的操作,也就是服务能做什么。这些契约通常通过接口来实现,接口定义了一组方法,...
### 第四部分:WCF扩展 这部分将介绍如何自定义和扩展WCF以满足特定需求: 1. **行为扩展**:自定义服务行为和客户端行为,如行为配置、行为实现。 2. **绑定元素扩展**:创建自定义绑定以支持新的传输或编码方式...
**WCF服务编程第七章** 在Windows Communication Foundation (WCF)中,第七章通常会深入探讨服务的安全性、事务和消息队列等关键概念。WCF是.NET框架中用于构建可互操作的分布式应用程序的强大工具,它允许服务提供...
3. 绑定和配置:详细讲解各种预定义绑定的使用,以及如何自定义绑定。 4. 服务合同:讨论数据契约、服务契约和消息契约的设计和实现。 5. 安全性:涵盖WCF中的身份验证、授权和加密机制。 6. 事务:解释如何在WCF中...
**第四章:安装和创建WCF服务** - **环境设置**:指导读者如何搭建开发环境,包括安装.NET Framework 4.0等。 - **服务定义**:介绍如何定义服务接口和实现具体的服务逻辑。 - **宿主服务**:提供示例代码来演示...
4. **终结点**:服务通过终结点对外暴露,每个终结点包含地址、绑定和契约。地址指定服务的位置,绑定指定通信方式,契约定义服务提供的功能。 5. **服务实例化模型**:WCF支持多种服务实例化模型,如单例、多例和...
综上所述,WCF服务编程的第四章和第五章是深入理解服务实现和配置的关键。掌握这些知识后,开发者能够灵活地创建、配置和管理符合业务需求的WCF服务,确保服务的安全、可靠和高效运行。通过阅读并实践《WCF服务编程...
在WCF中,我们可以选择使用HTTP传输绑定(如BasicHttpBinding或WebHttpBinding),这些绑定支持通过HTTP协议传递消息。HTTP协议的优势在于其广泛的支持和良好的穿透性,使得客户端和服务器之间的通信更容易。 总的...
WCF编程(第2版)这本书是深入学习这一技术的重要参考资料,旨在帮助开发者充分利用WCF的特性构建高效、安全、可靠的服务。 WCF的核心概念包括: 1. **服务**: WCF服务是可执行的代码单元,对外提供一种或多种操作,...
3. **绑定与终结点**:绑定是服务客户端和服务器之间通信的具体协议、传输方式和编码格式。WCF提供多种预定义的绑定,如`BasicHttpBinding`、`NetTcpBinding`等。终结点则是服务实际暴露的位置,包括地址、绑定和...
课程的第一部分,"WCF概述",涵盖了WCF的基础概念,包括服务、终结点、绑定、行为等核心元素,以及如何设置和运行一个基本的服务实例。 WCF的核心概念: 1. **服务**:WCF服务是提供特定功能的逻辑实体,可以通过...
4. **服务配置**:WCF服务的配置通常通过`.config`文件进行,其中包含了服务的绑定、终结点和行为设置。开发者可以通过修改配置文件来调整服务的行为,而无需重新编译代码。 5. **安全性**:在WCF中,安全性涵盖...
**Windows Communication Foundation (WCF) 入门教程:我的第一个WCF** Windows Communication Foundation(WCF)是微软.NET Framework中的一个关键组件,用于构建高度可配置、安全、可靠的分布式应用程序。它提供...
**Windows Communication Foundation (WCF) 是微软.NET框架中用于构建分布式应用程序的服务模型。它提供了一种统一的方式,来创建、部署和管理跨平台的服务。在本实例中,我们将重点探讨WCF服务的基础知识以及如何...
《WCF揭秘》是关于Windows Communication Foundation(WCF)的一本深入解析的书籍,第二章主要探讨了WCF的基础架构和实现方式。本压缩包包含了第二章中的示例代码,这些代码已经根据原书的错误进行了修正,为读者...
4. **服务宿主**:WCF服务可以宿主在多种环境中,如IIS、Windows服务、自承载等,每种宿主有其特定的启动和生命周期管理方式。 5. **安全性**:WCF提供了多种安全机制,包括身份验证、授权、加密和消息完整性,以...
3. **绑定和终结点**:WCF中的绑定定义了服务如何与客户端通信的细节,包括传输协议、编码方式等。终结点则是服务暴露给外部世界的具体地址。源代码会揭示如何配置各种类型的绑定和创建终结点。 4. **安全性**:WCF...