一、WCF4.0标准终结点
我们知道,绑定的本质就是一系列相关绑定元素的有序集合,而系统绑定就是基于若干典型的通信场景对相关绑定元素的整合。WCF通过系统绑定对绑定元素进行了定制,那么能否在终结点级别对组成该终结点的ABC(地址、绑定和契约)也进行相应的定制呢?实际上这对于最新版本的WCF是可行的,我们将这个机制称为“标准终结点”。
所谓标准终结点,就是针对典型的通信场景选择组成终结点的要素(主要是绑定和契约)进而创建出一个标准的终结点。在使用的时候,如果你需要的终结点要素和标准终结点完全一致,就无需进行重复的设置;如果不一致,则只需要单独对此进行重新设置以覆盖定义在标准终结点的默认设置。java foreach语句使用总结
比如说,对于用于发布元数据的终结点总是将IMetadataExchange作为其契约,并且在大部分情况下使用MexHttpBinding。如果我们基于这两个元素创建一个标准的MexEndpoint,那么在为服务配置发布元数据的终结点的时候就只需要指定地址就可以了。实际上,WCF确实为我们创建了这么一个标准的MexEndpoint终结点。包含MexEndpoint终结点在内,WCF总共为我们定义了如下面的列表所示的9个标准终结点。
mexEndpoint:用于公开服务元数据的标准终结点;
dynamicEndpoint:使用 WS-Discovery 在运行时动态查找终结点地址的标准终结点;
discoveryEndpoint:由服务用于发送发现消息的标准终结点;
udpDiscoveryEndpoint:通过 UDP 多播绑定为发现操作预配的标准终结点;
announcementEndpoint:由服务用于发送公告消息的标准终结点;
udpAnnouncementEndpoint:由服务用于通过 UDP 绑定发送公告消息的标准终结点;
workflowControlEndpoint:可用于对工作流实例调用控制操作的标准终结点;
webHttpEndpoint:带有自动添加 WebHttpBehavior行为的WebHttpBinding绑定的标准终结点;
webScriptEndpoint:带有自动添加 WebScriptEnablingBehavior行为的WebHttpBinding绑定的标准终结点。
如果你希望直接为某个服务配置一个标准终结点,可以借助于WCF4.0为终结点的配置节添加的一个新的配置属性kind,该属性表示标准终结点名称。在上面的配置中,我为服务配置了一个标准终结点mexEndpoint以实现基于MEX终结点形式的元数据发布。
1: <?xml version="1.0"?>
2: <configuration>
3: <system.serviceModel>
4: ...
5: <services>
6: <service name="Artech.WcfServices.Service.CalculatorService" >
7: <host>
8: <baseAddresses>
9: <add baseAddress="http://127.0.0.1:3721/calculatorservice"/>
10: </baseAddresses>
11: </host>
12: <endpoint binding="ws2007HttpBinding" contract="Artech.WcfServices.Contract.ICalculator" />
13: <endpoint kind="mexEndpoint" address="mex"/>
14: </service>
15: </services>
16: </system.serviceModel>
17: </configuration>
对于系统绑定来说,WCF允许你通过配置的方式对其进行定制,标准终结点也不例外。如果标准的终结点默认配置不能满足你的要求,你可以在配置中对其进行相应的定制。在WCF配置节下添加了一个新的子结点<standardEndpoints>,用于对这9个标准终结点进行定制。和自定义绑定一样,你需要为自定义的标准终结点起一个名字。如果某个终结点需要使用到自定义的标准终结点,标准终结点的名称需要设置到终结点配置节的另一个额外的配置属性endpointConfiguration上。android 软体键盘 实现 -- 断点记录
在下面的配置中,我们自定义了一个基于WS-Discovery 1.1的udpDiscoveryEndpoint,并起名为“wsd11”。而这个标准终结点通过终结点配置节的两个属性kind(kind="udpDiscoveryEndpoint")和endpointConfiguration(endpointConfiguration="wsd11")被添加到寄宿的CalculatorService服务的终结点列表中。
1: <?xml version="1.0"?>
2: <configuration>
3: <system.serviceModel>
4: <services>
5: <service name="Artech.WcfServices.Service.CalculatorService" >
6: <endpoint address="http://127.0.0.1:3721/calculatorservice" binding="ws2007HttpBinding" contract="Artech.WcfServices.Contract.ICalculator" />
7: <endpoint kind="udpDiscoveryEndpoint" endpointConfiguration="wsd11"/>
8: </service>
9: </services>
10: <standardEndpoints>
11: <udpDiscoveryEndpoint>
12: <standardEndpoint name="wsd11" discoveryVersion="WSDiscovery11"/>
13: </udpDiscoveryEndpoint>
14: </standardEndpoints>
15: </system.serviceModel>
16: ...
17: </configuration>
分享到:
相关推荐
3. **终结点**:服务通过终结点与外界交互,每个终结点由地址、绑定和契约组成。地址指定服务的位置,绑定确定通信方式,契约定义服务的行为。 4. **消息传输和编码**:WCF支持多种消息传输机制,如HTTP、TCP和命名...
- WCF的核心概念包括服务、终结点、绑定、协定和服务主机。服务定义了对外提供的功能,终结点是服务与外界交互的接口,绑定定义了通信方式,协定定义了通信规则,服务主机则承载并运行服务。 2. **服务模型** - ...
WCF还支持WS-*标准,如WS-Security、WS-ReliableMessaging等,增强了服务的互操作性和可靠性。 **三、WCF的配置** WCF的配置可以通过代码或XML配置文件进行,包括服务配置和服务行为、客户端配置、绑定配置等。...
- **WS-* 规范支持**:WCF全面支持Web服务标准,如WS-Security、WS-ReliableMessaging等。 通过这些示例代码,你可以逐步掌握如何创建服务、配置终结点、实现合同、管理会话以及处理安全性问题。同时,学习过程中...
### WCF服务编程知识点详解 #### 一、WCF基础概览 **WCF(Windows Communication Foundation)** 是微软提供的一套用于构建服务导向的应用程序框架。它将各种通信技术统一到一个连贯的框架中,使开发人员能够构建...
7. **行为**:WCF的行为元素允许对服务和服务操作进行更精细的配置,如服务行为(ServiceBehavior)、终结点行为(EndpointBehavior)和数据契约行为(DataContractSerializer)等。 8. **服务宿主**:WCF服务可以...
这部分将介绍如何自定义和扩展WCF以满足特定需求: 1. **行为扩展**:自定义服务行为和客户端行为,如行为配置、行为实现。 2. **绑定元素扩展**:创建自定义绑定以支持新的传输或编码方式。 3. **服务主机扩展**:...
WCF的核心概念包括服务、终结点、绑定、协定和服务主机。服务定义了可供外部访问的操作集合,终结点则是服务与外界交互的接口,包含了地址、绑定和协定三个要素。地址指定服务的位置,绑定定义了通信的细节,如传输...
服务由一个或多个终结点定义,这些终结点提供了与服务交互的方式。 2. **终结点**: 终结点是服务与外界交互的接口,包含地址、绑定和合同三个要素。地址指定了服务的位置,绑定定义了通信方式和协议,合同则规定了...
WCF服务可以通过配置文件(如app.config或web.config)进行配置,包括设置绑定、终结点和行为。服务发现允许服务自动广播其存在,以便客户端可以找到并与其交互。 7. **安全性和事务** WCF提供了多种安全机制,...
3. **配置服务**: 使用配置文件(app.config或web.config)或代码来指定服务地址、绑定和终结点。 4. **启动服务**: 使用`ServiceHost`类启动服务,监听请求。 5. **创建客户端**: 使用`ChannelFactory`或`svcutil...
WCF的核心概念包括服务、终结点、绑定和合同。服务是提供特定功能的实体,可以通过一个或多个终结点进行访问。终结点是服务与外界交互的入口,由地址、绑定和合同三要素定义。地址指定服务在何处找到,绑定定义了...
这可以通过启用WCF的MEX( Metadata Exchange)终结点实现。 3. **生成gSOAP客户端代码**:在非.NET环境中,使用gSOAP的wsdl2h和soapcpp2工具处理WCF服务发布的WSDL文件,生成对应的C/C++接口和数据结构。 4. **...
**Windows Communication Foundation (WCF) 知识点详解** Windows Communication Foundation(WCF)是微软.NET框架中的一个核心组件,用于构建高度可配置、安全、可靠且可伸缩的分布式应用程序。WCF提供了统一的...
WCF设计时考虑了与其他系统和服务的互操作性,支持SOAP、RESTful等多种Web服务标准,可以与非.NET环境下的系统无缝对接。 **WCF实例**: "我的WCF之路"可能包含了作者在实践中创建的各种WCF服务示例,比如创建一个...
服务由一个或多个终结点组成,终结点是服务与外界交互的接口。 2. **终结点**:每个终结点包含地址、绑定和合同。**地址**确定服务的位置,**绑定**定义了如何与服务通信,包括传输协议(如HTTP、TCP等)、编码格式...
这个“WCF实例(入门简单,经典)”是一个针对初学者的教程,通过一个实际的订票应用程序来介绍WCF的基础概念和使用方法。 **一、WCF基础** 1. **服务导向架构**:WCF基于服务导向架构(SOA),允许不同的应用程序...
5. **终结点**(Endpoint):服务的终结点是服务与外界交互的入口,包含地址、绑定和服务合同。地址指定服务在哪里,绑定定义了通信方式,合同定义了服务提供的功能。 6. **实例化模式**:WCF支持多种实例化模式,...
4. **终结点(Endpoint)**:服务与外界交互的入口,由地址、绑定和契约三部分组成。 5. **行为(Behaviors)**:控制服务和服务操作的行为,如服务实例化策略、错误处理和元数据发布。 6. **安全性**:WCF支持...
通过这本书,读者不仅可以学习到WCF的基础知识,如服务合同、绑定、终结点、消息交换模式等,还能掌握如何利用WCF实现SOA的精髓,如服务发现、事务处理、安全性、可靠性和可伸缩性。希望这本书能为您的WCF学习之旅...