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

WCF后续之旅(14):TCP端口共享

而对于客户端通常对所使用的端口并不关心,只需要保证端口在本机是唯一的就可以了,这样的端口又成为临时端口,临时端口一般在1024到5000之间。...在本节中,我们将介绍如何解决这种端口被某一个应用程序独占使用的问题,让不同的监听程序能够共享同一个端口。在这之前,我们需要了解一下,端口的共享具有什么现实的意义。...而对于处于Internet和本地网络之间的防火墙,通常仅仅只有保留80端口,保证基于HTTP的网络通信能够正常进行。...对于WCF来讲,当我们将某个服务寄宿于一个进程中,实际上就是通过该进程监听和处理来自客户端的Socket请求。...唯一不同是,HTTP.SYS运行在内核模式(Kernel Mode)下,而Net.TCP Port Sharing Service运行在用户模式(User Mode)下。

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

    《WCF技术剖析》博文系列汇总

    服务寄宿中,具有两种截然不同的运行模式:ASP.NET并行(Side by Side)模式和ASP.NET兼容模式。...这就为数据的表现提出了要求,为了保证处于不同平台、不同厂商的应用能够正常地进行数据交换,交换的数据必须采用一种大家都能够理解的展现方式。在这方面,XML无疑是最好的选择。...所以,消息在整个WCF体系结构中处于一个核心的地位,WCF可以看成是一个消息处理的管道。 尽管消息在整个WCF体系中具有如此重要的意义,可是一般的WCF编程人员,却意识不到消息的存在。...实例与会话是WCF非常重要的两个特性,它们既相对独立,又互相制约。实例模式与对会话支持程度的不同组合,会让最终的服务表现出截然不同的行为。...的元数据发布,针对这两种不同的协议,元数据获取的实现方式也是不同的,本片文章中通过自己的方式进行元数据获取,可以看成是对WCF客户端元数据框架的模拟。

    1.4K100

    WCF技术剖析(卷1)之前言

    但是,如果希望通过WCF构建一个高性能、可维护性、可扩展性的分布式应用,就要求架构师、设计师和开发者对WCF的实现机制,以及面向服务的设计原理具有正确、全面而深入的理解。...【本书为谁而作】 本书的内容不仅仅适合于那些尚未接触过WCF,希望尽快入门并进行深入研究的开发人员,同样适合那些对WCF具有一定了解的开发设计人员和架构师。...在本章中,我们会谈到基于不同网络协议地址之间的差异,以及如何在服务寄宿和服务调用的时候通过代码或者配置的方式设定终结点的地址。...本章涉及到的内容还包括通过地址报头(Address Header)的形式为消息添加寻址信息,以及端口共享在WCF中的应用。本章的最后我们将深入介绍WCF下寻址的实现机制。...本章将详细介绍WCF三种典型的事例化模式所表现的行为、实现的原理以及各自适合的场景。在介绍会话的部分会对深入剖析会话如何保持客户端多次服务调用的状态,以及会话、实例化模式、绑定和信道之间的关系。

    1K100

    快速入门系列--WCF--01基础概念

    这种架构的优点是开发快速,与数据库紧密相连,事务性很好,适用于中小系统;缺点是因为各个系统都可以直接和数据库连接,层次不清晰,当系统越来越庞大时,运维成本越来越大,此外,其可控性、安全性、扩展性也相对较差...正如之前所说的,WCF服务是通过终结点EndPoint发布,而终结点由地址、绑定和契约三要素组成,其中地址用于定位服务,并提供额外的寻址信息和认证信息。...,当有大量应用需要使用不同端口时,会显得捉襟见肘,因此多个应用共享同一个端口显得很有必要。...谈到异步操作,在SOA这类应用中包含3个不同异步场景,这部分知识比较有意思,曾经困到鄙人多年。...这3中场景包括:异步的信道调用,客户端可以通过代理对象异步的调用信道;单向消息交换,客户端的信道通过单向的消息交换模式向服务端发送消息,发送立刻返回;异步服务实现,服务端在具体实现服务操作时,采用异步调用的方式

    1.1K100

    WCF系列教程之初识WCF

    2、WCF的基本组成 (1)、地址:定义服务的地址,也就是服务接口所在地的IP地址 (2)、绑定:定义服务的通讯方式(传输协议、编码方案) (3)、契约:定义服务的具体实现 (4)、终结点(endpoint...宿主程序:WCF通过改程序向外部发布服务,也就是说改程序必须保持启动的状态,否则WCF中的服务,外界将无法获取。...ok,说明WCF服务端已经启动客户端可以正常调用 ii、使用vs2010以上的自带的WCF测试工具 ? ,通过这个工具,也可以测试当前服务是否正常启动。 ? 输入服务地址,点击确定。 ?...Tools/Visual Studio 2012开发人员命令提示 ?...打开该工具,在工具中定位到当前需要调用WCF服务的客户端目录下 ? ,然后输入 svcutil http://服务地址/?wsdl /o:客户端文件名.cs, ?

    1.2K80

    从两种安全模式谈起

    WCF采用两种不同的机制来解决这三个涉及到传输安全的问题,我们一般将它们称为不同的安全模式,即Transport安全模式和Message安全模式。...Transport安全模型的优缺点 较之我们后续介绍的Message安全模式,Transport安全模式具有一个最到的优点,那就是高性能。...所以Message安全模式不会因底层是HTTP或者TCP传输协议而采用不同的安全机制,并且能够提供从消息最初发送端到最终接收端之间的安全传输,即端到端(End-To-End)安全传输。...我们假设这样一个应用场景:客户端和服务分别采用用户名/密码和X.509证书作为各自的用户凭证,那么针对于每一个单一的消息交换,可以通过下面的方式解决上述两个问题: 客户端采用服务端证书的公钥对消息进行加密...所以,不同于Transport安全模式只能提供点对点(Point-to-Point)的安全,Message安全模式能够提供端到端(End-to-End)安全; 由于Message安全模式是对WS-Security

    80180

    我的WCF之旅(1):创建一个简单的WCF程序

    和传统的分布式通信框架一样,WCF本质上提供一个跨进程、跨机器以致跨网络的服务调用。在本例中,客户端和服务通过运行在相同的同一台机器上不同进程模拟,图1体现了客户端和服务端进程互相调用的关系。 ?...图4 通过HTTP-GET的方式获取WCF服务的元数据 在进行真正的WCF应用开发时,一般不会直接通过编码的方式进行终结点的添加和服务行为的定义,而是通过配置的方式进行。...此外,服务寄宿将服务描述通过元数据的形式发布出来,相应的客户端就可以获取这些元数据创建客户端程序进行服务的消费。...,现在我们来演示如何将WCF服务寄宿到IIS中。...Web.config所有配置内容如下所示,可以看出,这基本上和上面通过自我寄宿方式定义的配置一致。唯一不同的是在添加的终结点中无须指定地址,因为.svc所在的地址就是服务的地址。

    66321

    《WCF的绑定模型》博文系列汇总

    对于这些通信对象来说,在通信不同的阶段,它们往往具有不同的状态;从整个通信的生命周期来看,在不同阶段过渡的过程中,它们具有一些相似的状态转换方式…… [第3篇] 信道监听器(Channel Listener...对于WCF的信道层来说,信道管理器在服务端和客户端扮演着不同的角色,服务端的信道管理器在于监听来自客户端的请求,而客户端的信道仅仅是单纯的创建用于消息发送的信道。...其实我们完全可以把一个WCF应用开成是一个普通的基于监听-请求模式的网络应用,服务端将监听器绑定到一个或一组URI上进行网络监听,一旦成功监听到来自客户端的请求,则接收、处理该请求,如需回复则发送回复回客户端...在整个过程中,监听器处于核心的地位,而WCF中的信道监听器就起着这样的作用。...[第4篇] 信道工厂(Channel Factory) 由于信道管理器在客户端和服务端所起的不同作用,分为信道监听器和信道工厂。和服务端的信道监听其相比,处于客户端的信道工厂显得简单。

    523100

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

    Configuration Editor),极大的方便开发者进行服务配置,接下来将演示如何对一个WCF服务程序进行配置: 所有与WCF服务有关的文件类,全都引入System.ServiceModel命名空间...(2)、新建服务、选择服务类型,也就是具体要对外发布的服务内容 ? 该服务类型在Service层的bin目录下 ? ? (3)、选择对应的服务契约,选择完服务类型后,系统会自动匹配 ?...根据程序的通讯模式选择不同的通讯类型,这里采用HTTP (5)、服务端与客户端的通信模式 i、基本的Web服务互操作性:设置当前程序的通信模式为请求与答复模式,具体请参考WCF系列教程之消息交换模式之请求与答复模式...这里选择请求与答复模式 (6)、设置服务终结点的地址 ? 当前程序的设置为基地址,所以终结点的地址设置为空。 (7)、向导配置完毕 ?...此处选用本地Ip地址,端口号为666,ok主机基地址设置完毕,对应host节点中的baseadress节点中的配置 (8)、修改终结点中的binding属性 修改默认终结点的绑定类型为wsHttpBinding

    96270

    .NET Core ❤ gRPC

    两种实现共享用于调用和处理RPC的相同API,用户能够选择最能满足其需求的实现,而不会限制你必须使用某个平台。...与现有的基于C-Core的实现(Grpc.Core)不同,新库(grpc-dotnet)使用.NET Core基本类库(BCL)中的现有网络实现。...在服务器端,Grpc.AspNetCore.Server软件包集成到ASP.NET Core中,使开发人员受益于ASP.NET Core已解决的日志,配置,依赖项注入,身份验证,授权等常见的交叉问题。...Visual Studio 2019 对protobuf文件的语言语法提供了支持,并在保存protobuf文件时自动生成gRPC服务器/客户端代码,而无需由于设计时构建而需要完全重新编译项目。...参考文档 .NET Core 上的 gRPC 适用于 WCF 开发人员的 ASP.NET Core gRPC GRPC 中的身份验证和授权

    1.5K10

    我的WCF之旅(1):创建一个简单的WCF程序

    和传统的分布式通信框架一样,WCF本质上提供一个跨进程、跨机器以致跨网络的服务调用。在本例中,客户端和服务通过运行在相同的同一台机器上不同进程模拟,图1体现了客户端和服务端进程互相调用的关系。 ?...图4 通过HTTP-GET的方式获取WCF服务的元数据 在进行真正的WCF应用开发时,一般不会直接通过编码的方式进行终结点的添加和服务行为的定义,而是通过配置的方式进行。...此外,服务寄宿将服务描述通过元数据的形式发布出来,相应的客户端就可以获取这些元数据创建客户端程序进行服务的消费。...,现在我们来演示如何将WCF服务寄宿到IIS中。...Web.config所有配置内容如下所示,可以看出,这基本上和上面通过自我寄宿方式定义的配置一致。唯一不同的是在添加的终结点中无须指定地址,因为.svc所在的地址就是服务的地址。

    91790

    WCF中的Binding模型之二: 信道与信道栈(Channel and Channel Stack)

    对于这些通信对象来说,在通信不同的阶段,它们往往具有不同的状态;从整个通信的生命周期来看,在不同阶段过渡的过程中,它们具有一些相似的状态转换方式。...WCF应用在不同的场景中按照不同的模式进行消息交换。 3.1. 消息交换模式(MEP) 消息交换模式(Message Exchange Pattern:MEP)在SOA中是一个重要的概念。...图4双工消息交换模式 双工通信使服务端回调客户端成为可能:客户端在调用服务的时候,指定一个回调对象,服务端操作执行过程中可以通过回调对象回调客户端的操作。比较典型双工通信是我们熟悉的订阅/发布模式。...WCF通过一个特殊的术语来表述不同的消息交换模式对消息交换双方信道的不同要求:Channel Shape。Channel Shape按照适用的消息交换模式的不同,将信道进行了分类。...在一般的情况下,这两个地址是相同的,在需要进行手工寻址的情况下,它们可以是完全不同的两个地址,关于WCF的寻址,请参阅第二章。

    44520

    WCF系列教程之WCF服务配置

    文本参考自:http://www.cnblogs.com/wangweimutou/p/4365260.html 简介:WCF作为分布式开发的基础框架,在定义服务以及消费服务的客户端时可以通过配置文件的方式...二、Services节点 每个服务发布都会包含一个Service节点,里面包含一个或者多个endpoint节点,Service元素具有以下属性: 1、name属性:设置提供实现服务契约接口的类型,它是完全限定名称...(2)、binding:设置与终结点的通信的通信方式,通信方式分为两种,一种是系统提供的绑定类型,另一种是用户自定义的绑定类型。...默认情况下,WCF服务不发布元数据终结点,所以必须将他们显示的添加到服务配置中才能为服务启用元数据发布。 ?...客户端只需要根据Web Service地址,便可获取服务的相关信息,反序列话本地的代码,通过服务代理进行服务的调用。WCF服务主要特性之一就是跨平台的服务交互。

    1.5K60

    WCF技术剖析之二十三:服务实例(Service Instance)生命周期如何控制

    在一个托管应用程序中,我们通过不同的方式创建一个托管对象(比如通过new关键字、反射或反序列化等)时,CLR会在托管堆为该对象开辟一块内存空间。...一个WCF服务通过一个ServiceHost进行寄宿,并添加一到多个终结点。...WCF实例上下文模式与.NET Remoting的远程对象激活方式类似,同样具有三种不同的实例上下文模式,分别与上述三种激活方式匹配。...如果采用单调实例上下文模式,对于每一个服务调用,不论是来自相同的客户端(服务代理)还是不同的客户端,WCF总是创建一个全新的服务实例和实例上下文对象来处理服务调用请求。...客户端行为体现的是WCF如何进行服务调用的方式,而服务端行为则体现了WCF的请求分发方式。所以服务契约会通过元数据对外发布,而服务行为则对于客户端是透明的。

    99490

    之三:信道监听器(Channel Listener)

    对于WCF的信道层来说,信道管理器在服务端和客户端扮演着不同的角色,服务端的信道管理器在于监听来自客户端的请求,而客户端的信道仅仅是单纯的创建用于消息发送的信道。...应用开成是一个普通的基于监听-请求模式的网络应用,服务端将监听器绑定到一个或一组URI上进行网络监听,一旦成功监听到来自客户端的请求,则接收、处理该请求,如需回复则发送回复回客户端。...在整个过程中,监听器处于核心的地位,而WCF中的信道监听器就起着这样的作用。...对于一个终结点来说,它具有一个代表逻辑地址的终结点地址,还有一个代表物理地址的监听地址(关于逻辑地址和物理地址,请参阅第二章),如果监听地址(ListenUri)没有显式地指定,则监听地址和逻辑地址共享相同的...对于每一个不同监听地址,WCF会通过具体的绑定对象创建一个信道监听器。信道监听器通过调用AcceptChannel创建监听信道栈,位于信道栈的第一个信道被成功返回。

    56760

    WCF,Net remoting,Web service

    由于WCF完全是由托管代码编写,因此开发WCF的应用程序与开发其它的.Net应用程序没有太大的区别,我们仍然可以像创建面向对象的应用程序那样,利用WCF来创建面向服务的应用程序。    ...2、互操作性     由于WCF最基本的通信机制是SOAP,这就保证了系统之间的互操作性,即使是运行不同的上下文中。这种通信可以是基于.Net到.Net间的通信。    ...即使对于WCF和ASMX而言,虽然两者都使用了SOAP,但基于WCF开发的应用程序,仍然可以直接与ASMX进行交互。...在涉及到不同信任域中多个 Web 服务的复杂情况下,还得建立自定义的特殊解决方案。...小结 虽然 .NET Remoting 基础结构和 ASP.NET Web 服务都可以进行跨进程通信,但每种设计适用于不同的用户。

    1.5K50

    WCF中并发(Concurrency)与限流(Throttling)体系深入解析系列

    WCF提供了三种不同的实例上下模式(Per-Call、Per-Session和 Single)实现了不同的服务实例上下文提供机制。...所以,WCF并发框架体系解决的是如何有效地处理被分发到同一个服务实例上下文的多个服务调用请求,这些并行的调用请求可能来自不同的客户端(服务代理),也可能相同的客户端。...[第2篇]并发中的同步--WCF并发体系的同步机制实现 在《WCF 并发的本质》中,我们谈到了WCF提供的三种不同的并发模式,使开发者可以根据具体的情况选择不同的并发处理的策略。...为了使读者对采用不同实例上下文对并发的影响有一个深刻的认识,会创建一个简单的WCF应用,并在此基础上添加监控功能,主要监控各种事件的执行时间,比如客户端服务调用的开始和结束时间,服务操作开始执行和结束执行的时间等等...[源代码从这里下载] [第4篇] 并发与实例上下文模式: WCF服务在不同实例上下文模式下具有怎样的并发表现 由于WCF的并发是针对某个封装了服务实例的InstanceContext而言的,所以在不同的实例上下文模式下

    79170

    菜菜从零学习WCF九(会话、实例化和并发)

    WCF会话具有下列主要概念性功能: --他们由调用应用程序显式启动和终止。...通过直接使用InstanceContext或实现一个自定义实例上下文提供程序,可以做到这一点 当WCF服务接受客户端会话时,默认情况下启用以下功能: --通过同一用户定义的服务对象来处理WCF客户端对象之间的所有调用...Perseesion:为每个新的客户端会话创建一个新的InstanceContext(以及相应的服务对象),并在该会话的生存期内对其进行维护(这需要使用支持会话的绑定)。   ...实例化代码实例 可以修改成为另外两种模式,进行测试查看效果。 第三部分--并发  并发是对InstanceContext中的任一时刻处于活动状态的线程数量的控制。...若要使用此并发模式,服务实现必须是线程安全的。   Reentrant:每个服务实例一次只能处理一个消息,但可以接受可重入的操作调用。仅当服务通过WCF客户端对象提供服务时才会接受这些调用。

    47830
    领券