首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

WCF系列教程之WCF服务宿主与WCF服务部署

如果我们需要使用WCF服务,那么我们就必须将服务寄宿与创建它并控制它的上下文和生存期的运行时环境当中,承载服务的环境,称之为宿主。WCF服务可以在支持托管代码的任意Windows进程中运行。...通过使服务从 ServiceBase 类以及从 WCF 服务协定接口继承,将该服务同时实现为 Windows 服务和 WCF 服务。...此宿主选项在 Windows 的所有版本中都是可用的。...3.1、Windows服务(以前成为NT服务)的优点: (1)、承载在IIS外、长时间运行的WCF服务 (2)、受所有windows版本的支持 (3)、由操作系统控制控制服务进程的生存期 3.2、Windows...WAS) 关于如何启用net.tcp通讯,上面已经介绍过了,所以这里就不说了,ok,在net.tcp通讯启用的情况下,配置承载服务的WCFHost网站,添加net.tcp通讯 ?

1.4K80

检测WCF服务是否在线(动态执行WCF服务)

在我们的系统里有多个wcf支撑。但是有的时候会莫名的停止,于是今天写了一个服务,定时去检测其他wcf服务是否在线。...那么最简单的办法自然是引用其他wcf服务让vs给我们自动生成clientProxy然后一个个去调用是否正常。但是这种办法显然不是我要的。我要弄一个通用的服务检测。   ...方案1:   对于httpbinding的wcf服务有个最简单的检测方法:就是用httpClient去请求一下服务地址看有没有服务描述xml返回。如果有就是live不然就是服务异常关闭了。...正常使用ChannelFactory调用wcf服务: var channelFactory = new ChannelFactory(endpoint); var proxy = this....这样,当需要监控新的wcf服务的时候只要在配置文件里添加一行协定,程序集,调用方法,endpoint的配置即可,当然协定所在的dll要复制到程序的跟目录下或者指定的文件下。

1.4K70
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    WCF系列教程之WCF服务协定

    本文参考自:http://www.cnblogs.com/wangweimutou/p/4422883.html,纯属读书笔记,加深记忆 一、服务协定简介: 1、WCF所有的服务协定层里面的服务接口,都有一个...3、定义完了服务协定层(服务接口层),就可以实现当前协定层,实现服务协定层后并将其与WCF 绑定和 EndpointAddress 对象一起使用时,此服务协定将公开以供客户端使用。...等共同提出,通过WSDL,可描述Web服务的三个基本属性: (1)、服务做些什么——服务所提供的操作(方法) (2)、如何访问服务——和服务交互的数据格式以及必要协议 (3)、服务位于何处——协议相关的地址...,如URL 在WCF中,WSDL是元数据交换的一种数据格式,通过它的描述,WCF服务程序间就可以进行相应的数据交换,甚至是跨平台的应用间也可以进行数据交换。...具体请参考:WCF系列教程之WCF中的会话. (6)、CallbackContract:获取或设置当协定为双工协定时的回调协定类型。

    86370

    WCF系列教程之WCF服务配置

    4、endpoint节点:该节点指定用于公开服务的终结点的绑定、协定和地址属性,与WCF的所有通信是通过该服务的终结点进行的,利用终结点,WCF服务可以访问WCF提供的功能。...默认情况下,WCF服务不发布元数据终结点,所以必须将他们显示的添加到服务配置中才能为服务启用元数据发布。 ?...WCF服务元数据是WCF服务的核心部分的服务地址(adress)、绑定(通信协议bindings)、契约(服务、操作、数据Contract)的原始描述信息。...暴露WCF元数据的原因: 描述了WCF服务元数据的作用后,就能推测出为什么暴露WCF服务元数据的原因.WCF服务元数据描述服务的核心信息,客户端需要了解这些特征以便与该服务进行通信。...绑定信息可能很复杂,也可能很简单,一般来说绑定包含的如何连接到终结点的信息属于以下类别中的一种: (1)、协议:确定使用的安全机制,可靠消息传递或事务上下文流设置 (2)、编码:确定消息编码(文本或者二进制

    1.5K60

    WCF系列教程之WCF服务配置工具

    Configuration Editor),极大的方便开发者进行服务配置,接下来将演示如何对一个WCF服务程序进行配置: 所有与WCF服务有关的文件类,全都引入System.ServiceModel命名空间...{ public int Add(int a, int b) { return a + b; } } } 3、搭建WCF...服务契约和服务类和宿主全部搭建成功,下面开始配置WCF服务 4.通过WCF服务配置编辑器(Microsoft Service Configuration Editor)来配置服务程序,选择visual...studio 菜单中的工具选项下的WCF服务配置编辑器,点击即可打开。...根据程序的通讯模式选择不同的通讯类型,这里采用HTTP (5)、服务端与客户端的通信模式 i、基本的Web服务互操作性:设置当前程序的通信模式为请求与答复模式,具体请参考WCF系列教程之消息交换模式之请求与答复模式

    96270

    WCF技术剖析之二十: 服务在WCF体系中是如何被描述的?

    同理,一个WCF服务的监听与执行同样需要通过一个进程来承载。我们将为WCF服务创建或指定一个进程的方式称为服务寄宿(Service Hosting)。...服务寄宿的方式大体分两种:一种是为一组WCF服务创建一个托管的应用程序,通过手工启动程序的方式对服务进行寄宿,所有的托管的应用程序均可作为WCF服务的宿主,比如Console应用、Windows Forms...WCF服务描述通过类型System.ServiceModel.Description.ServiceDescription表示,ServiceDescription对象是WCF服务运行时的描述。...除了包含WCF服务的一些基本信息,比如服务的名称、命名空间和CLR类型等,ServiceDescription还包含服务所有终结点和服务行为的描述。...客户端行为体现的是WCF如何进行服务调用的方式,而服务端行为则体现了WCF的请求分发方式。

    1K60

    WCF技术剖析之二十六:如何导出WCF服务的元数据(Metadata)

    通过《实现篇》对WSDL元素和终结点三要素的之间的匹配关系的介绍,我们知道了WSDL的Binding元素来源于终结点的绑定对象,那么这些基于Binding的元数据以及相应的策略断言是如何被写入WSDL的呢...此外,WSDL导出扩展并不限于被相应的绑定元素用于添加Binding相关的元数据,我们也可以采用终结点行为、契约行为和操作行为(服务行为不可以用于WSDL导出扩展)作为WSDL导出扩展实现在最终生成的WSDL...二、策略导出扩展(Policy Export Extension) 在《WCF技术剖析(卷1)》的第3章对绑定的介绍中,我们说绝大部分WS规范最终都通过绑定实现,或者说,WCF通过定义相应的绑定元素对某个...比如对于WSHttpBinding,如果采用基于消息的安全模式,需要导出基于WS-Security相关的策略断言;如何开启了可靠会话(Reliable Session),需要导出基于WS-RM(WS-Reliable...在WCF元数据结构体系中,通过策略导出扩展实现对WS-Policy策略断言的导出。

    60660

    WCF技术剖析之二十六:如何导出WCF服务的元数据(Metadata)

    静态属性Default代表默认的WS-Policy版本,目前为WS-Policy 1.2。属性Namespace表示相应WS-Policy版本的命名空间。...正是因为WSDL是目前描述Web服务做好的语言,建立WCF终结点与WSDL元素之间的匹配关系,以及基于该匹配关系的元数据导入和导出的实现,是WCF元数据框架体系的一个最为重要的目标。...服务的描述。...三、 实例演示:如何通过WsdlExporter导出元数据 为了让读者更见深刻地认识WsdlExporter,我们现在做一个简单的实例演示。我们通过一个简单的控制台(Console)应用作为演示程序。...首先我们先演示如何利用WsdlExporter导出一个终结点,为此我们定义了一个处理订单的服务契约,契约接口和使用到的数据类型(数据契约)定义如下: 1: using System; 2:

    77360

    C# WCF服务

    WCF是.Net框架中的技术,用来创建面向服务的应用程序,交换不同通信方案里的消息,以及执行服务操作生成的工作流。WCF应用程序由三部分组成 - WCF服务,WCF服务主机和WCF服务客户端。...WCF平台有时也被称为服务模型。WCF的基本特征是互操作性。这是微软用于构建面向服务的应用程序的最新技术之一。...4:WCF跟Web服务有什么区别 属性:WCF服务是通过定义ServiceContract和OperationContract属性,而在Web服务,WebService和WebMethod属性用于定义相同...服务:WCF支持一个强大的安全,值得信赖的消息传递,事务性和互操作性,而Web服务只支持保障服务。...多线程:WCF支持多线程利用ServiceBehavIor类,而这Web服务不支持。 双工服务操作:WCF支持双工服务业务除了支持单向和请求 - 响应服务操作,而Web服务不支持双工服务操作。

    92520

    WCF系列教程之WCF客户端调用服务

    1、创建WCF客户端应用程序需要执行下列步骤 (1)、获取服务终结点的服务协定、绑定以及地址信息 (2)、使用该信息创建WCF客户端 (3)、调用操作 (4)、关闭WCF客户端对象 二、操作实例 1、WCF...服务层搭建:新建契约层、服务层、和WCF宿主,添加必须的引用(这里不会的参考本人前面的随笔),配置宿主,生成解决方案,打开Host.exe,开启服务。...三、归纳总结 通过上面的代码判断WCF客户端调用服务存在以下特点: 1、WCF服务端可客户端通过使用托管属性、接口、方法对协定进行建模。...上面两种方式都会从服务端的服务中下载元数据,并使用当前你使用的语言,将其转换成托管源代码文件中,同时还创建一个您可用于配置 WCF 客户端对象的客户端应用程序配置文件. 2、WCF客户端是表示某个WCF...因此当你在服务端创建了一个服务端协定,并对其进行配置后,客户端就可以通过生成代理类的方式(具体生成代理类的方式,上面已经提了)和服务端的服务进行通信,WCF 运行时将方法调用转换为消息,然后将这些消息发送到服务

    2.1K90

    WCF服务的批量寄宿

    如果采用自我寄宿的方式,我们需要为每个寄宿的服务创建ServiceHost对象。但是一个应用往往具有很多服务需要被发布,基于单个服务的ServiceHost的创建将会变成一个很繁琐的事情。...[源代码从这里下载] 我想很多人想到了直接读取表示寄宿服务的//配置元素列表,通过其name配置属性得到表示服务的“类型”...这种做法是不被推荐的,原因有二: 配置元素的name属性并不是寄宿服务的类型全名,而是通过ServiceBehaviorAttribute特性对应的服务配置名称; 即使我们不对服务的配置名称作显式设置...三个服务以及包含的终结点定义在如下的配置中,而三个服务类型同时被定义在了我们自定义的配置节下。...1: 服务Artech.BatchingHosting.FooService开始监听 2: 服务Artech.BatchingHosting.BarService开始监听 3: 服务Artech.BatchingHosting.BazService

    550100

    WCF技术剖析之十:调用WCF服务的客户端应该如何进行异常处理

    在前面一片文章(服务代理不能得到及时关闭会有什么后果?)中,我们谈到及时关闭服务代理(Service Proxy)在一个高并发环境下的重要意义,并阐明了其根本原因。...一、异常的抛出与Close的失败 一般情况下,当服务端抛出异常,客户客户端的服务代理不能直接关闭,WCF在执行Close方法的过程中会抛出异常。我们可以通过下面的例子来证实这一点。...WCF服务在客户端的调用程序如下所示: 1: using System; 2: using System.ServiceModel; 3: using Artech.ExceptionHandlingDemo.Contracts...在上面一篇文章中,我们就谈到过:WCF通过信道栈实现了消息的编码、传输及基于某些特殊功能对消息的特殊处理,而绑定对象是信道栈的缔造者,不同的绑定类型创建出来的信道栈具有不同的特性。...下面的代码演示了基于ChannelFactory创建服务代理的WCF客户端编程方式,对于直接通过强类型服务代理(继承ClientBase的服务代理类型)进行服务调用具有相同的结构。

    2K90
    领券