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

增加WCF服务中的超时值

在 WCF 服务中,超时值是用于控制服务在等待请求完成时所允许的最长时间。如果在指定的超时时间内,服务未能完成请求,则会引发超时异常。

以下是增加 WCF 服务中的超时值的方法:

  1. 在代码中设置超时值:

可以在调用 WCF 服务的代码中设置超时值,如下所示:

代码语言:csharp
复制
using (ChannelFactory<IService> factory = new ChannelFactory<IService>("Service"))
{
    IService service = factory.CreateChannel();
    factory.Endpoint.Binding.SendTimeout = TimeSpan.FromMinutes(10);
    service.CallService();
}
  1. 在配置文件中设置超时值:

可以在 WCF 服务的配置文件中设置超时值,如下所示:

代码语言:xml<system.serviceModel>
复制
  <bindings>
   <basicHttpBinding>
     <binding name="BasicHttpBinding_IService" sendTimeout="00:10:00" />
    </basicHttpBinding>
  </bindings>
 <client>
   <endpoint address="http://localhost:8080/Service" binding="basicHttpBinding"
      bindingConfiguration="BasicHttpBinding_IService" contract="IService"
      name="BasicHttpBinding_IService" />
  </client>
</system.serviceModel>

在上面的示例中,超时值被设置为 10 分钟。

总之,增加 WCF 服务中的超时值可以帮助服务在等待请求完成时具有更长的时间。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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

任何一个程序都需要运行于一个确定的进程中,进程是一个容器,其中包含程序实例运行所需的资源。同理,一个WCF服务的监听与执行同样需要通过一个进程来承载。...服务寄宿的方式大体分两种:一种是为一组WCF服务创建一个托管的应用程序,通过手工启动程序的方式对服务进行寄宿,所有的托管的应用程序均可作为WCF服务的宿主,比如Console应用、Windows Forms...无论采用哪种寄宿方式,在为某个服务创建ServiceHost的过程中,WCF框架内部会执行一系列的操作,其中最重要的步骤就是为服务创建服务描述(Service Description)。...客户端行为体现的是WCF如何进行服务调用的方式,而服务端行为则体现了WCF的请求分发方式。...为此,增加了一个新的方法:ApplyClientBehavior。

1K60
  • WCF系列教程之WCF中的会话

    本文参考自http://www.cnblogs.com/wangweimutou/p/4516224.html,纯属读书笔记,加深记忆 一、WCF会话简介 1、在WCF应用程序中,回话将一组消息相互关联...2、WCF中的回话机制通过设置服务协定ServiceContract上的SessionMode的枚举值来设置服务协定是否要求、允许或者拒绝基于回话的绑定.枚举值有以下三种: (1)、Allowed:允许回话...二、WCF中的回话和Asp.Net中的回话 1、WCF中回话的主要功能有以下: (1)、他们由调用程序显示启动或者关闭 (2)、会话期间传递的消息按照接收消息的顺序进行处理。...2、Asp.Net中的回话由System.Web.SessionState.HttpSessionState 类提供功能,它的主要功能如下: (1)、Asp.Net的回话是由服务器启动的 (2)、Asp.Net...1、WCF服务层搭建:新建契约层、服务层、和WCF宿主,添加必须的引用(这里不会的参考本人前面的随笔),配置宿主,生成解决方案,打开Host.exe,开启服务。

    80450

    WCF服务的批量寄宿

    如果采用自我寄宿的方式,我们需要为每个寄宿的服务创建ServiceHost对象。但是一个应用往往具有很多服务需要被发布,基于单个服务的ServiceHost的创建将会变成一个很繁琐的事情。...我们可以将需要需要批量寄宿的服务类型定义在配置文件中。很多人喜欢直接采用作为自定义的配置,但是我个人是既不推荐这种做法的,我觉得自定义结构化的配置节是更好的选择。...在构造函数中,我们通过加载BatchingHostingSettings配置节的方式获取需要批量寄宿的服务类型,并为之创建ServiceHost。...三个服务以及包含的终结点定义在如下的配置中,而三个服务类型同时被定义在了我们自定义的配置节下。...为了确认三个服务对应的ServiceHost确实被创建并被开启,我通过如下的代码注册了ServiceHostCollection中每个ServiceHost的Opened事件。

    549100

    WCF 4.0中的动态发现服务WS-Discovery

    WCF 3/3.5 中,当我们要调用一个服务时,必须事先知道该服务的地址,然后通过服务代理用双方约定好的契约与远程的服务进行交互。...现在,WCF 4.0中提供了发现服务的支持,当我们再想调用一个服务时,没必要去知道该服务的具体地址,WCF 4.0实现了OASIS的WS-Discovery标准,相关的类定义在System.ServiceModel.Discovery...只需要利用 System.ServiceModel.Discovery 命名空间下的相关类就可以实现两种方式的动态发现服务: Ad hoc Mode:简单理解,就是服务启动时就向网络广播Hello消息,...Managed Mode:简单理解,就是所有服务事先在一个叫 Discovery Proxy 的地方登记,然后所有调用方发送查找请求给 Discovery Proxy 来查找并调用相关服务的模式。...WCF 4.0中要动态发现服务,用 Ad hoc Mode 实现起来还是比较简单的。

    97150

    使用WCF进行跨平台开发之二(IIS托管WCF服务并使用php平台调用)1.系统必备2.在IIS中托管WCF服务3.使用PHP调用托管在IIS中的WCF服务

    上一篇中,使用控制台托管了WCF服务,但是如果想从PHP和java平台调用,必须将其托管到IIS中(并不是必须的,还是有其他的方式的 比如windows azure) 1.系统必备      首先,必须打开...2.在IIS中托管WCF服务      在IIS默认网站中添加应用程序emp,并在高级设置中,设置应用程序池为“ASP.NET v4.0”,并设置默认网站右键--编辑版定,在http类型中编辑IP地址和主机名...在新建的虚拟目录对应的实际目录中,添加web.config文件,配置wcf服务和终结点,并打开元数据公开,然而,因为这里不是使用常用的svc文件托管的服务,所以需要serviceActivations节点配置服务...3.使用PHP调用托管在IIS中的WCF服务 在PHP服务器中打开浏览器,并浏览http://192.168.11.1/emp/EmployeeManagement.svc测试服务是否托管正常。 ?...> 开启php服务器,访问页面,出结果: ? 下一章将续写java访问WCF服务的具体操作,可是已经到饭点啦。先做个决定。。。。。

    2.1K70

    WCF中的集合类型

    在.net中,各种类型的集合均实现了IEnumerable或者IEnumerable接口,一个数据契约的数据成员可以是一个集合类型,服务契约也可以定义直接与集合交互的操作,但是这都是.net所特有的...,WCf不能在元数据中公开它们,然后WCF专门为集合提供了编组原则。      ...,那么只要提供的集合包含了Add方法,并且符合以下签名中的一种,WCF就能够自动地将集合规范为数组类型。      ...当服务的一方处理集合类型时,服务的另外一方若处理数组类型,就会导致双方语义不对称,集合拥有数组不具备的优势。...基于以上几点,WCF提供了另外一种有效的解决方案,一种专用的特性:CollectionDataContractAttribute,定义为:     [AttributeUsage(AttributeTargets.Class

    88460

    我的WCF之旅(4):WCF中的序列化

    SOA 和Message Windows Communication Foundation (WCF) 是基于面向服务架构(Service Orientation Architecture——SOA...在WCF中,我们把Service的调用相关的提取出来即为我们经常说的Contract,Service的提供者和Client之间共享的是Service Contract——而不传统OO概念下的Type。...理解了SO的基本原理,我们来看看WCF,从WCF的全称来分析——Windows Communication Foundation,顾名思义,他就是解决分布式互联系统中各相互独立的子系统如何交互的问题,换句话说...所以 在WCF中的Serialization可以看成是Serializer通过反射的机制分析对象所对应的Type的原数据,从而提供一种算法实现Managed Type的XSD的转化。...在WCF中,有3中不同的方式可供选择:Binary;Text和MTOM(Message Transmit Optimized Mechanism)。

    758110

    我的WCF之旅(4):WCF中的序列化

    首先我们还是来看一个例子,通过比较Managed Type的结构和生成的XML的结构来总结这种序列化方式采用的是怎样的一种Mapping方式。...不会再Root Element中添加相应的Namaspace。 对象成员以XML Element的形式输出。 对象成员出现的顺利和在Type定义的顺序一致。...只有Public Field和可读可写得Proppery才会被序列化到XML中——比如定义在XMLProduct中的internal string ProducingArea没有出现在XML中。...以上这些都是默认的Mapping关系,同DataContractSerializer一样,我们可以通过在Type以及它的成员中运用一些Attribute来改这种默认的Mapping。...Type中定义的顺序 字母排序 兼容性 .asmx Remoting Deserialzation 调用默认构造函数 不会调用

    646110

    谈谈WCF中的Data Contract(4):WCF Data Contract Versioning

    在系统开发过程中,通过对Data Type添加额外的字段进而对其进行扩展,是一个种很常见的场景。...在这个Demo中,我使用上面介绍的Order Processing的场景,下面是整个Solution的结构(需要说明的是,本片文章提供的Code片断和Source Code都是基于VS 2008的)。...其实在WCF中解决这样一个问题的方案简单而直接,那就是在Data Contract中定义一个额外的成员来存储没有在成员列表中定义的信息。...[原创]谈谈WCF中的Data Contract(1):Data Contract Overview [原创]谈谈WCF中的Data Contract(2):WCF Data Contract对Generic...的支持 [原创]谈谈WCF中的Data Contract(3):WCF Data Contract对Collection & Dictionary的支持 [原创]谈谈WCF中的Data Contract

    81160

    我的WCF之旅(8):WCF中的Session和Instancing Management

    WCF中的Session 我们知道,WCF是MS基于SOA建立的一套在分布式环境中各个相对独立的Application进行Communication的构架。他实现了最新的基于WS-*规范。...WCF中的Session和ASP.NET的Session 在WCF中,Session属于Service Contract的范畴,是一个相对抽象的概念,并在Service Contract定义中通过SessionModel...WCF保证处于某个Session中传递的Message按照他发送的次序被接收 WCF并没有为Session的支持而保存相关的状态数据。...说道WCF中的Session,我们很自然地联想到ASP.NET中的Session。实际上,他们之间具有很大的差异: ASP.NET的Session总是在Server端初始化的。...WCF中的Session的实现和Instancing Management 在上面我们说了,虽然WCF支持Session,但是并没有相关的状态信息被保存在某种介质中。

    27120

    Wcf:可配置的服务调用方式

    先看下面的图: 通常,如果采用.NET的WCF技术来架构SOA风格的应用,我们会把项目做一些基本的分层,如上图: 01. contract层:通常定义服务的接口(即服务契约ServiceContract...,指明该服务提供了哪些方法可供外部调用)、以及接口方法中传输的Model定义(即:数据契约DataContract,指明方法中的对象参数的Class定义) 02. implementation层:即服务接口的实现...实际部署时,一般将wcf服务层和client层分开部署,如下图: 如果并发数随着业务的增长而增长,不管是client层的website,还是服务层的service,加上其它技术,比如集群或负载均衡之类...,但是总归有点不爽,既然都在一台机器上了,为啥还要自己调用自己,增加无谓的开销呢?...原理其实非常简单,反射即可,先在Client层的web.config或app.config中,增加类似以下节点: 1 2 <!

    1.2K90

    我的WCF之旅(3):在WCF中实现双工通信

    图2 订阅-发布 二、实例演示:创建基于双工通信的WCF应用 接下来我们通过一个的案例演示基于双工通信的WCF应用。为简单起见,我们沿用计算服务的例子。...WCF采用基于服务契约的调用形式,客户端正常的服务调用需要服务契约,同理服务端回调客户端依然需要通过描述回调操作的服务契约,我们把这种服务契约称为回调契约。...在WCF中,回调对象通过当前OperationContext的GetCallback方法获得(T代表回调契约的类型)。...WCF通过加锁机制保证服务对象的独占性使用,也就是说在服务执行开始会对服务对象加锁,该锁在服务操作结束之后释放。 回到我们的例子,在Add操作执行过程中,服务端回调客户端操作进行运算结果的显示工作。...关于WCF中的并发是一个重要而且复杂的话题,本书的下卷会对其进行单独的介绍。

    1.1K100

    模拟在WCF中的应用

    如果将模拟使用在WCF上面,就意味着WCF可以模拟客户端身份(而不是启动寄宿进程的Windows帐号)执行服务操作。这篇文章主要介绍WCF关于模拟的编程。...在采用WCF认证的情况下,我们可以通过当前ServiceSecurityContext的WindowsIdentity或者PrimaryIdentity获取到代码认证客户端的WindowsIdentity...对象,那么在服务操作中模拟客户端身份就和简单了。...这种在服务操作实现中通过编程的方式实现身份模式可以将服务操作的部分逻辑在模拟的客户端身份下执行。...身份模拟密切地关系到被模拟身份代表的用户的安全,所以模拟级别应该通过客户端自行控制。在WCF安全体系中,该模拟级别是在客户端提供的Windows凭证中指定。

    852100

    WCF技术剖析之四:基于IIS的WCF服务寄宿(Hosting)实现揭秘

    我们可以通过一种简单的方式来证明这一点。 假设我们有一个WCF服务需要通过IIS进行寄宿,并把WCF服务相应的.svc文件定义在一个对应于某个IIS虚拟目录的ASP.NET Website中。...二、ASP.NET并行(Side by Side)模式 对于基于IIS服务寄宿,System.ServiceModel.Activation.HttpModule将基于.svc的请求劫持并分发给WCF的服务模型...除了ASP.NET提供的一些少量的底层服务,比如动态编译和AppDomain管理等,绝大部分ASP.NET对传统的ASP.NET资源的请求处理机制将不会应用在基于WCF Service的请求处理流程中。...在默认的情况下,不论采用何种寄宿方式,WCF本身的行为应该保持一致。所以,让WCF 服务的行为独立于寄宿的环境与传输协议,是采用并行模式的主要原因。...比如,在WCF Service的操作中,需要获取ASP.NET应用的SessionState,或者是需要通过基于.svc文件的ACL对WCF Service进行授权等。

    1.3K100

    WCF服务部署后异常的处理

    在部署项目的时候,发现WCF总是存在问题,一直没找出什么原因。   ...开始在项目开发阶段客户端调用WCF服务的代码如下 JSAJService.JSAJServiceClient _ajService = new JSAJService.JSAJServiceClient...(); bool IsCurrent = _ajService.IsCurrentEmpty(ID,User);   或者在本调用文件类中定义一个全局的WCF客户端实例服务。  ...不过,由于wcf客户端都有一个超时时间,可能静止过了一段时间,你在界面刷新数据的时候,你会发现出现下面的错误:"通信对象System.ServiceModel.Channels.ServiceChannel...有没有更好的方式,避免出错,又能够正确调用wcf客户吗,当然有,下面这样方式就是比较好的一种解决方案,经过实际测试,效果不错。

    70120

    WCF技术剖析之十一:异步操作在WCF中的应用(下篇)

    说完了客户端的异步服务调用(参阅WCF技术剖析之十一:异步操作在WCF中的应用(上篇)),我们在来谈谈服务端如何通过异步的方式为服务提供实现。...WCF通过类型OperationDescription表示对服务操作的描述。...得到相应的MethodInfo对象后,同样通过反射调用服务实例。 二、如何创建异步服务 在了解了异步操作的定义和具体的实现原理之后,我们通过一个简单的实例演示异步操作在WCF应用中的实现。...本例子中,我们通过服务调用来读取服务端的文件,在实现文件读取操作的时候,采用异步文件读取方式。 先来看看服务契约的定义。...在客户端通过添加服务引用的方式生成相关的服务代理代码和配置。你将会发现客户端生成的服务契约和服务代理类中,会有一个唯一的操作Read。

    790100

    WCF技术剖析之十一:异步操作在WCF中的应用(上篇)

    对于I/O绑定型操作,我们可以充分利用多线程的机制,让多个操作在自己的线程并发执行,从而提高系统性能和响应能力。服务调用就是典型的I/O绑定型操作,所以多线程在服务调用中具有广泛的应用。...在本篇文章中,我们专门来讨论多线程或者是异步操作在WCF中的具体应用。 如果按照异步操作发生的位置,我个人将WCF应用的异步操作分为下面3种变体。...对于单向消息交换,由于在上面一节中已经进行过详细的介绍,在本节中主要介绍其余两种异步操作的具体使用。本篇文章我们着重探讨第一种形式(异步信道调用)的异步调用,关于异步服务的实现放在下篇中。 ?...图1 WCF多线程应用的三种典型场景 为了方便客户端进行异步的服务调用,最简便的方式就通过SvcUtil.exe这个代码生成工具帮助我们生成机遇异步调用的服务代理类。...在下面的代码中,我们通过一个匿名方法的形式定义回调操作,由于在回调操用中输出运算结果时需要使用到参与运算的操作数,我们通过BeginAdd方法的最后一个object类型参数实现向回调操作传递数据,在回调操作中通过

    82980
    领券