`

第四章:WCF绑定(3)

    博客分类:
  • WCF
wcf 
阅读更多
原文: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();


注意:将绑定的属性配置在配置文件中是个最好的选择,因为当你将服务部署到生产环境中的时候,不需要更改代码了并且重新编译。所以使用配置文件是好的编程实践。
分享到:
评论

相关推荐

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

    在“20070924--构建WCF面向服务的应用程序系列课程(1):WCF概要.pdf”这份资料中,你将获得WCF的基础知识,包括其核心概念、创建服务的基本步骤以及如何开始你的第一个WCF项目。通过学习这个系列课程,你将能够熟练...

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

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

    ASP.NET开发大全第18章.WCF开发基础.doc

    PPT文件(如CON312.ppt、第33-35章WCF培训讲义.ppt、WCF简单介绍.ppt)通常包含详细的教程和演示,帮助开发者理解WCF的概念、配置和使用。它们可能涵盖服务宿主、配置文件、调试技巧以及高级特性,如事务处理、流...

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

    在本系列课程的第一部分,我们将深入探讨WCF的基本概念和核心组件。 1. **服务契约和服务接口** WCF中的服务契约定义了服务提供的操作,也就是服务能做什么。这些契约通常通过接口来实现,接口定义了一组方法,...

    WCF教程WCF教程

    ### 第四部分:WCF扩展 这部分将介绍如何自定义和扩展WCF以满足特定需求: 1. **行为扩展**:自定义服务行为和客户端行为,如行为配置、行为实现。 2. **绑定元素扩展**:创建自定义绑定以支持新的传输或编码方式...

    wcf 服务编程第七章

    **WCF服务编程第七章** 在Windows Communication Foundation (WCF)中,第七章通常会深入探讨服务的安全性、事务和消息队列等关键概念。WCF是.NET框架中用于构建可互操作的分布式应用程序的强大工具,它允许服务提供...

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

    3. 绑定和配置:详细讲解各种预定义绑定的使用,以及如何自定义绑定。 4. 服务合同:讨论数据契约、服务契约和消息契约的设计和实现。 5. 安全性:涵盖WCF中的身份验证、授权和加密机制。 6. 事务:解释如何在WCF中...

    Apress Pro WCF 4

    **第四章:安装和创建WCF服务** - **环境设置**:指导读者如何搭建开发环境,包括安装.NET Framework 4.0等。 - **服务定义**:介绍如何定义服务接口和实现具体的服务逻辑。 - **宿主服务**:提供示例代码来演示...

    WCF技术剖析(卷1)

    4. **终结点**:服务通过终结点对外暴露,每个终结点包含地址、绑定和契约。地址指定服务的位置,绑定指定通信方式,契约定义服务提供的功能。 5. **服务实例化模型**:WCF支持多种服务实例化模型,如单例、多例和...

    WCF服务编程4-5章

    综上所述,WCF服务编程的第四章和第五章是深入理解服务实现和配置的关键。掌握这些知识后,开发者能够灵活地创建、配置和管理符合业务需求的WCF服务,确保服务的安全、可靠和高效运行。通过阅读并实践《WCF服务编程...

    WCF4高级编程Professional.WCF.4

    **WCF4高级编程**是针对Windows Communication Foundation (WCF)技术的一个深入学习资源,尤其关注第四版(WCF 4)的相关特性。WCF是.NET Framework中的一个关键组件,用于构建面向服务的应用程序,它提供了统一的...

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

    在WCF中,我们可以选择使用HTTP传输绑定(如BasicHttpBinding或WebHttpBinding),这些绑定支持通过HTTP协议传递消息。HTTP协议的优势在于其广泛的支持和良好的穿透性,使得客户端和服务器之间的通信更容易。 总的...

    WCF编程(第2版)pdf

    WCF编程(第2版)这本书是深入学习这一技术的重要参考资料,旨在帮助开发者充分利用WCF的特性构建高效、安全、可靠的服务。 WCF的核心概念包括: 1. **服务**: WCF服务是可执行的代码单元,对外提供一种或多种操作,...

    wcf服务编程 源码

    3. **绑定与终结点**:绑定是服务客户端和服务器之间通信的具体协议、传输方式和编码格式。WCF提供多种预定义的绑定,如`BasicHttpBinding`、`NetTcpBinding`等。终结点则是服务实际暴露的位置,包括地址、绑定和...

    我的第一个WCF程序:HelloInDigo

    课程的第一部分,"WCF概述",涵盖了WCF的基础概念,包括服务、终结点、绑定、行为等核心元素,以及如何设置和运行一个基本的服务实例。 WCF的核心概念: 1. **服务**:WCF服务是提供特定功能的逻辑实体,可以通过...

    WCF服务编程第五部分

    4. **服务配置**:WCF服务的配置通常通过`.config`文件进行,其中包含了服务的绑定、终结点和行为设置。开发者可以通过修改配置文件来调整服务的行为,而无需重新编译代码。 5. **安全性**:在WCF中,安全性涵盖...

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

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

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

    **Windows Communication Foundation (WCF) 是微软.NET框架中用于构建分布式应用程序的服务模型。它提供了一种统一的方式,来创建、部署和管理跨平台的服务。在本实例中,我们将重点探讨WCF服务的基础知识以及如何...

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

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

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

    4. **服务宿主**:WCF服务可以宿主在多种环境中,如IIS、Windows服务、自承载等,每种宿主有其特定的启动和生命周期管理方式。 5. **安全性**:WCF提供了多种安全机制,包括身份验证、授权、加密和消息完整性,以...

Global site tag (gtag.js) - Google Analytics