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

菜菜从零学习WCF四(承载服务)

我们都知道WCF在运行的时候必须自己提供宿主来承载服务。WCF 本身没有附带宿主,就需要我们自己来依附于宿主而承载WCF服务。 那么现在主要有几种方式来为我们提供WCF的承载呢?...-IIS中承载的WCF服务与ASP.NET2.0使用相同的动态编译模型,该模型简化了承载的服务的开发和部署。     ...-当决定在IIS中承载WCF服务时,一定要记住IIS5.1和IIS6.0仅限于HTTP通信。   --部署IIS承载的WCF服务  -1.要确保正确安装IIS和WCF以及WCF激活组建。 ?...选择WCF服务应用程序,添加项目名称后,就会自动生成相应文件 ?...打开目录浏览,然后右击启用,现在就可以浏览服务了。 ? 现在就可以证明服务发布成功了。 这是关于IIS承载WCF服务示例代码 关于 在Windows 进程激活服务(WAS)中承载后面再补上

97520

菜菜从零学习WCF三(配置服务)

配置服务概述 在设计和实现服务协定后,即可配置服务。在其中可以定义和自定义如何向客户端公开服务,包括指定可以找到服务的地址、服务用于发送和接收消息的传输和消息编码,以及服务需要的安全类型。   ...使用配置文件配置WCF服务 --通过使用配置文件配置Windows Communication Foundation(WCF)服务,可提供在部署时而设计时提供终结点和服务行为数据的灵活性。   ...--可使用.NET Framework配置技术对WCF服务进行配置。通常情况下,向承载WCF服务的Intrnet信息服务(IIS)网站的Web.config文件添加XML元素。...此外,WCF包括几个系统提供的元素,可用于快速选择服务的最基本的功能   --WCF使用.NET Framework的System.Configuration配置系统     1.使用IIS来承载服务-...配置绑定   绑定是用于指定连接到Windows Communication Foundation(WCF)服务终结点所必需的通信详细信息的对象。WCF服务中的每个终结点都要求正确指定绑定。

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

    菜菜从零学习WCF二(设计和实现服务协定)

    --操作的结果是:除非客户端异步调用操作,否则客户端将停止处理,直到收到退出消息,即使消息正常情况下为空时也是如此。     ...--缺点:如果执行操作需要很长的时间,则会降低客户端性能和响应力     --优点:响应消息中可返回SOAP错误,这表名可能在通信或处理中发生了一些与服务有关的错误状况   单向模式 如果WCF服务应用程序的客户端不必等待操作完成...单向操作是可俄护短调用操作并在WCF将消息写入网络后继续进行处理的操作,通常这意味着,除非在出战消息中发送的数据极其庞大,否则客户端几乎立即继续运行(除非发送数据时出错)。...  WCF处理用启用操作功能的基础SOAP消息的定义,并处理数据类型到消息正文的序列化和从消息正文进行反序列化,数据类型一旦序列化,您就无需在设计操作时考虑基础消息交换基础结构   可以使用其他序列化机制...而现在的单向模式,虽然在服务实现添加暂停10秒的时间,但是客户端只要调用该服务方法后,不会有服务端的响应,可以继续请求或操作客户端其他的操作。

    88120

    《Node.js权威指南》:HTTP服务器发送响应流

    Nodejs里http模块的createServer()方法的回调函数的第二个参数是一个http.ServerResponse对象,可以利用这个对象来发送服务器端的响应数据。...,该响应内容将与之前发送的响应内容一起缓存在客户端中。...因为有这样一个机制:在一个快速网络环境中,当数据时较小时nodejs总是将数据直接发送到操作系统的内核缓存区中,然后从该内核缓存区中取出数据发送给对方。...在一个慢速网络中或需要发送大量数据时,HTTP服务器端发送的数据并不一定会立即被客户端接收,nodejs会将数据缓存在内存中,并在对方可以接收数据的情况下将内存中的数据通过操作系统内核缓存区发送给对方。...如果在指定时间内服务器没有做出响应(可能是网络连接出问题,也可能是服务器故障或网络防火墙阻止客户端与服务器端连接),则响应超时,同时会触发http.ServerResponse对象的timeout事件,

    1.7K30

    WCF学习笔记 3

    WCF通信模式 请求与响应模式 请求/响应通信是指客户端向服务端发送消息后,服务端会向客户端发送响应。这也意味着在接收到服务的响应以前,客户端不会继续执行操作。 请求/响应模式是默认的消息模式。...即使返回值是void,也属于请求/响应消息交换。 除非客户端异步调用操作,否则客户端将停止处理,直到收到返回消息,即使该消息正常情况下为空时也是如此。...服务不会发送响应,而客户端也不会期望会有响应。 这种情况下,客户端发送消息,然后继续执行。 单向操作是客户端调用WCF服务,将消息写入网络后,立刻返回继续处理下面的操作。...通常这意味着,除非在出站消息中发送的数据极其庞大,否则客户端几乎立即继续运行(除非发送数据时出错)。...,服务和客户端均能够独立地向对方发送消息。

    36210

    入门:构建简单的Web API

    WCF Web API支持多个宿主环境:自宿主(windows服务或者控制台)和IIS宿主(asp.net webform/mvc)。...Web Test Client测试WCF Web API 1、创建一个基本的解决方案:使用VS2010新建一个空的ASP.NET MVC 3 Web Application ?...服务器驱动协商(Server-driven Negotiation) 如果响应的最好的表现形式的选择是通过服务器上的算法来实现,那么这种方式的协商称做服务器驱动协商。...服务器驱动协商是有优点的,当从可行的表现形式里进行选择的算法对用户代理进行描述是比较困难的时候,或者当服务器期望发送“最好的猜测”给客户端而只通过一个响应(以避免后续请求的回路(一个请求会返回一个响应)...查询使用IQueryable 接口,服务端并没有去查询所有的数据,发送过滤和排序到服务端。

    3.1K90

    从0开始构建一个Oauth2Server服务 授权响应

    state 如果初始请求包含状态参数,则响应还必须包含来自请求的确切值。客户端将使用它来将此响应与初始请求相关联。 例如,授权服务器通过发送以下 HTTP 响应来重定向用户。...例如,授权服务器通过发送以下 HTTP 响应来重定向用户(额外的换行符用于显示目的)。...由于与拦截 HTTPS 请求相比,Attack者可以通过更多方式从 HTTP 重定向中窃取数据,因此与授权代码流相比,使用此选项的风险更大。...从授权服务器的角度来看,在它创建访问令牌并发送 HTTP 重定向时,它无法知道重定向是否成功以及正确的应用程序是否收到了访问令牌。这有点像将访问令牌抛向空中,祈祷应用程序能够捕捉到它。...例如,如果用户拒绝授权请求,服务器将构造以下 URL 并发送如下所示的 HTTP 重定向响应(URL 中的换行符用于说明目的)。

    20050

    WCF Web Api

    WCF Web API允许开发人员通过HTTP开放他们的应用程序、数据和服务。...他们还可以利用网络的高速缓存和代理的基础设施,通过提供适当的控制和实体头的方式,在下个版本的WCF(.NET 4.5)设计了RESTful风格的,并不强制开发人员使用Rest的应用程序,你的应用程序可以从...HTTP客户端 - WCF HTTP引入了一个用于发送HTTP请求和接收HTTP响应新的HTTP客户端。新客户端已建成非常紧密,与HTTP规范的规定,并允许开发者使用任何HTTP服务。...在我们开发新的WCF HTTP版本可以直接访问底层的HTTP请求,并通过操作,而不是通过像WebOperationContext静态API的参数响应。...新的请求和响应测试友好使服务更容易单元测试。 *对于那些熟悉WCF,这可能类似于您对我们以前的版本中看到图。主要区别在于,在各个层次的组成部分,现在具体到HTTP。

    81670

    Netflix 微服务异步迁移:从同步的“请求响应”模式转换为异步事件

    接下来,我将要讨论我们是如何将一个面向用户的系统从基于请求 - 响应的同步系统迁移为一个异步系统的。...在较高的层次上来讲,我们有支持不同设备的 Netflix 客户端,比如手机、台式机、笔记本电脑以及电视,它们在放映过程中会向 Netflix 云发送消息。 首先,数据会到达 Gateway 服务。...在这里,它会被发送至 Playback API,该 API 会管理放映会话的生命周期。此外,它还会将放映数据发送至 Request Processor 层。...这反过来又会使上游的 Playback API 服务变慢,进而使得 Gateway 网关服务变慢。 除了云中的重试策略之外,这种速度变慢还会响应到运行在用户设备上的 Netflix 客户端。...每个分区都是由一组叫做 broker 的服务器来提供服务。其中,有一台服务器会被选为首领(leader)。当发布消息到某个分区时,会将数据发送至首领 broker。

    78431

    快速入门系列--WCF--02消息、会话与服务寄宿

    经过WCF基础的ABC学习,已经可以构建简单的WCF的服务,使用不同的服务地址和绑定类型,根据业务提供所需的服务契约。但不禁想问,服务所使用的消息报文是什么样的形式么?蕴含什么样内容呢?...WCF服务是否支持会话?WCF所提供的服务是单例的呢还是单调的呢?服务寄宿和客户端代理是如何实现的呢?...数据契约的等价性 在生产系统中,会出现修改接口的场景(例如添加删除接口方法数据成员,尽量避免),可能会对原有系统造成破坏,可以通过使用系统提供的扩展字段来避免这样的情况发生,附上一个可空的例子。...而单例模式对资源的消耗较少,每次完成调用就释放资源,但是当请求多时,会有很多请求需要排队,响应不够及时。而会话模式,根据用户来创建服务示例,算是一种折衷。...精简的WCF框架 服务端的流程包括:请求消息的接受和回复信息的发送;请求消息的解码和回复消息的编码;请求消息的反序列化和回复消息的序列化;服务对象的创建;服务操作的执行。

    1.4K50

    使命必达: 深入剖析WCF的可靠会话(下)

    上面一部分我们站在信道层的角度剖析了WCF为了实现可靠会话在信道层进行的一系列消息交换,或者说客户端和服务端的RS信道为了实现可靠消息传输所进行一轮又一轮的握手。...除了上述的两点不同之前,还有一个不一样的地方:客户端在发送RM序列终止请求之前会发送一个携带Sequence报头的空消息,而对于包含在该空消息中的Sequence报头,除了包含消息序号之外,还具有一个额外的...从应用层次讲,单向操作意味着客户端向服务端发送消息而不会接收到任何回复。...由于服务端不会有任何的应用消息从服务端返回到客户端,服务端的RS信道只能创建一个空的SequenceAcknowledgement消息对接收的消息进行确认。...如果终结点服务契约中的所有操作中具有一个以上的非单向操作,WCF可靠会话不仅仅需要保障消息从客户端到服务端的可靠性,也需要对服务端到客户端的消息传输提供保障,所以WCF可靠会话需要建立两个方向相反的RM

    585100

    Self Host模式下的ASP. NET Web API是如何进行请求的监听与处理的?

    WCF的消息处理管道的缔造者是作为终结点三要素之一的Binding。Binding不仅仅为服务端创建用于接收请求回复响应的管道,同时也为客户端创建发送请求接收响应的管道。...如果读者对此比较感兴趣,可以参阅《WCF的绑定模型》。由于ASP.NET Web API只是利用HttpBinding创建服务端消息处理管道,所以我们只讨论Binding的服务端模型。 ?...我们创建一个空的控制台程序作为监听服务器,它相当于Self Host寄宿模式下的宿主程序。...属性 描述 HostNameComparisonMode 如果请求URL没有指定服务器的IP地址而是主机名称,当从URL提取主机名称后会按照相应的比较模式来最终确定匹配的主机名。...在通过传输层发送响应消息之前,HttpMessage会先编码。

    1.8K60

    WCF如何克服HTTP传输协议的局限提供对不同消息传输模式的实现

    消息会被WCF的信道层发送到传输层,并通过相应的传输协议发送到目的地。对于TCP协议来说,其本身就能提供一个双工通道,所以能够对以上三种MEP原生的支持。...实际上很简单:客户端照常向服务端发送基于SOAP的HTTP Request,服务端在接收到清之后,会返回一个状态为202(表示成功请求成功接受)的空HTTP Response。...订阅/发布模式下的消息交换双方的角色从传统的发送方和接收方变成了订阅方和发布方。订阅方向发布方发送订阅消息定于某一主题进行订阅,发布方接收到订阅消息后将订阅方添加到订阅列表之中。...WCF通过双工通信实现了服务端对客户端的回调。假设客户端采用One-way的方式调用服务,而服务端同样以One-Way的方式对客户端进行回调。...在这个过程中,正常的服务调用和回调实现上是在不同的HTTP通道中进行的。从消息交换的角度讲,客户端调用服务端和服务端对客户端进行回调,本质上是一样的。

    1K70

    “一切都是消息”--MSF(消息服务框架)入门简介

    为了及时向客户发送这些投资资讯,我们使用WCF开发了基于邮件的通信系统。后来,从这套系统中分离出来跟业务无关的“消息推送框架”,这就是MSF的雏形。...NetTcpBinding,双工通信 二进制通信,速度更快   请求-响应的模式 绝大多数RPC框架调用服务的方式   发布-订阅的推送模式 服务器发布服务,客户端订阅服务,服务器向客户端推送消息...同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。   异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。 同步是阻塞模式,异步是非阻塞模式。...4,MSF的技术特点 无需WCF繁琐的配置,无需学习WCF知识。...MSF客户端程序,可以直接订阅MSF服务宿主的文本消息服务,之后,就可以随时向MSF服务宿主发送文本消息,并且能够异步的从MSF服务宿主接受消息。

    2.3K50

    利用WCF改进文件流传输的三种方式

    在WCF中引入了一种专门针对数据流进行优化编码的MTOM模型。下面我们使用编码模型和调用模型三种方式来改写文件流的传输,以提高WCF应用程序的性能。...也就是说异步方法IAsyncResult Begin*(params parameters,AsyncCallback callback,object state)是在发送第一个SOAP包,并等待服务器接收完第一个包后回应消息包才会返回的...由于在发送文件流时,因为文本字符始终不会超过一个SOAP包而必须等待。所在在这种编码方式下异步调用和同步调用没有差别。...WCF编程模型中采用了一种让同步传输中使用异步回调的方式来提高应用程序的响应。具体是在每个操作契约中可以选择生成异步方法的调用,具体是在同步方法的前面加上 IAsyncResult Begin….....也就是说后两种方式只是一种提高WCF应用程序响应性能的方式,它的传输数据量会有明显的膨胀。具体设计中要看在传输效率和响应性能两者取舍来选取其一而用。

    1.4K60

    使用 ServiceStack 构建跨平台 Web 服务

    例如前面的代码段,如果要求从客户端来执行更高版本的 Web 服务的 DoSomething 方法的两个输入参数 — 或需要返回字符串值之外的另一个字段 —— 给老客户重大更改是不可避免的。...当然,您始终可以创建平行的 DoSomething_v2 方法,要带两个输入的参数,但久而久之会搞乱您的 Web 服务接口和消费者,服务变得越来越丑,用WCF实现的Web服务就是属于这种情况,下面我们介绍...、 基于公约 DTO 标准为其 Web 服务接口,ServiceStack 还提供预置的响应状态对象,可用于撰写 DTO,鼓励更加直接和简单的错误处理方案,显然和WCF是明显不同的路线。...本文假定您有一些熟悉 WCF 和.NET 框架。 为了更好地展示WCF 概念可以如何转化为 ServiceStack 的概念,首先会在WCF中实现服务层。...我会告诉你如何通过将WCF Web 服务移植到等效的使用 ServiceStack 转换为跨平台的 Web 服务。 WCF 使用数据合同建立的客户端和服务器之间的通信手段。

    1.7K50

    WCF系列教程之WCF消息交换模式之单项模式

    1、使用WCF单项模式须知 (1)、WCF服务端接受客户端的请求,但是不会对客户端进行回复 (2)、使用单项模式的服务端接口,不能包含ref或者out类型的参数,至于为什么,请参考C# ref与out关键字解析...(3)、第三步 创建WCF宿主,这里因为本地以及有WCF宿主了,所以这里就不建了,不知道怎么建的话,参考WCF系列教程之初识WCF,所以将服务通过配置配置文件发布到WCF宿主中 服务发布成功 (5)、第五步 i、创建客户端程序,并通过微软的svcutil工具生成UserInfoService服务的客户端代理类,开始菜单/Microsoft Visual Studio 2012...虽然服务器方法的时间进程暂停了6s,但客户端的表现出的只是单向的,并没有等待服务器的时间,也就是服务器并没有像客户端发送响应的消息。 ? iii、通过Vs提供的WCF测试工具 ?...,来对WCF服务进行测试,输入服务地址 ? ,点击调用 ? ,瞬间服务端返回 ? 我们发现只有请求消息,没有返回的消息,说明服务器并没有对此作出任何反应。

    55250

    WCF入门 (13)

    第13集 ExtensionDataObject in WCF WCF里的ExtensionDataObject   这集讲的是WCF里面的ExtenstionDataObject。...在服务端,当服务端接收到来自客户端的未知元素内容时,这些内容会被存在ExtenstionDataObject里面。...在往客户端发送数据的时候,服务必须把数据序列化为XML,这时候服务的序列化进程就会取出ExtensionDataObject里面的内容,然后把他们序列化到XML里面一起发送给客户端。   ...因为Name属性被注释了,所以从查找出来的结果Name的textbox为空。 3。 下面我们新保存一个Employee。 ? 如图显示保存成功,但是很明显,数据库里面的Name一定是Null。 ?...} return emp; } } 我们来看一下return前面的那个if语句块, 如果lastSavedEmployee不为空,

    31420
    领券