WebService 超时的解决办法
Winform客户端调用Webservice 120秒超时.对此问题针对服务器与客户端分别作了超
时设置为300S.
1.服务器端设置超时
fig system.web    里添加如下配置项
<httpRuntime
executi on Timeout="300000"
/>
以上时间单位是秒.
记得要把fig    debug 模式关闭
<compilation
defaultLa nguage="c#"
debug="false"
/>
2.客户端设置超时
WebService    的客户端代理程序( 生成)里设置 Request 超时时间
位是毫秒
protected override WebRequest GetWebRequest(Uri uri)
{
HttpWebRequest wr = (HttpWebRequest)base.GetWebRequest(    uri );
wr.Timeout = 300*1000;
return wr;
}
但还是会出现120S超时.
此问题可以得出以下结论
1:可能是服务器的问题
2:可能是客户端环境配置的问题
3:可能是网域的问题
4:可能是网路的问题
对此.分别作如下测试
1:更换客户端电脑.测试有些电脑出现超时有些电脑不会超时.可以肯定.服务 器是没有问题
2:分别查看几台客户端电脑配置    以没有发现问题.
3:在同一个网域里面有的电脑不会超时有些电脑超时.所以可以排除网域问
.
4:对于网路的问题有分别查看各网段路由设置.但没有发现问题.
以上的测试好象都可以排除.难不成是MSBug.在网上查了一通根本没有本到什么结果 现在回头想一想 webservice 原理
客户端和服务端把请求和数据结果以    XML的形式进行SOAP包装,HTTP等形式进行传
,从而实现相应交互
根据Webservice 原理,可以肯定是Http超时.那么问题到底出现在哪里路由器设置没有问 题,网路也通顺.会不会是IE版本 问题.问题越来越接近.最后查看半天没有发现问题偶然 点了一下IE的代理设置.发现有设置代理.难不成是代理引发超时.经过最后测试.发现问题
它是一种构建
应用程序的普遍模型可以在任何支持网络通信的
操作系统中实施
运行它是一种新的
web
webservice
应用程序分支,是自包含、自描述、模块化的应用,可以发布、定位、通过
web调用。
Web Service
通过网络协议和规定的一些标准数据格式( 通过Web Service内部执行得到所需结果 商务处理的任何功能。一旦部署以后,其他 部署的服务。
个应用组件它逻辑性的为其他应用程序提供数据与服务
HttpXML Soap)来访问
.Web Service可以执行从简单的请求到复杂
.各应用程序
Web Service,
Web Service应用程序可以发现并调用它
的根本原因就是代理设置超时时间    调用webservice服务120S.
总结一下
webservice 超时问题,先应该从程式上着手.比如:fig 超时设置,以及客户端 的超时设置.如果设置后还是发生超时.那就得从webservice 运行原理上去原因.也就是 从http上原因比如网路问题,IE代理设置问题以及其它对网路设置引发超时的问题
webservice
戈]求助编辑百科名片
WebServices是由企业发布的完成其特定商务需求的在线应用服务其他公司或 应用软件能够通过In ternet来访问并使用这项在线服务。
简介 关键的技术和规则 简介 关键的技术和规则
展开
编辑本段简介

编辑本段 关键的技术和规则
技术和规则
在构建和使用    Web Service主要用到以下几个关键的技术和规则   
1.XML:描述数据的标准方法    .
2.SOAP :表示信息交换的协议    .
3.WSDL:Web 服务描述语言 .
4.UDDI(U niversal Descriptio n, Discovery and In tegratio n):    通用描述、发现与集成,
它是一种独立于平台的,基于    XML语言的用于在互联网上描述商务的协议。
相关
实际上, WebService的主要目标是跨平台的可互操作性。为了达到这一目标, WebService完全基于 XML (可扩展标记语言 )、XSD ( XMLSchema )等独立于平台、 独立
于 软件供应商的标准,是创建可互操作的、    分布式应用 程序的新平台。由此可以
看出,在以下三种情况下,使用 WebService会带来极大的好处。
长项一:跨防火墙的通信
如果应用程序有成千上万的用户,而且分布在世界各地,那么客户端和    服务器 之
间的通信将是一个棘手的问题。    因为客户端和服务器之间通常会有    防火墙或者代理服
务器。在这种情况下,使用    DCOM 就不是那么简单,通常也不便于把客户端程序发
布到数量如此庞大的每一个用户手中。传统的做法是,选择用浏览器作为客户端,写 下一大堆 ASP页面,把应用程序的中间层暴露给最终用户。这样做的结果是开发难 度大,程序很难维护。
1通过 WebService集成应用程序
举个例子,在应用程序里加入一个新页面,必须先建立好用户界面    (Web页面)
并在这个页面后面,包含相应    商业逻辑 的中间层组件,还要再建立至少一个    ASP
面,用来接受用户输入的信息,调用中间层组件,把结果格式化为    HTML形式,最
后还要把 结果页”送回浏览器。 要是客户端 代码不再如此依赖于    HTML表单,客户端
的编程就简单多了。
如果中间层组件换成    WebService的话,就可以从用户界面直接调用中间层组件,
从而省掉建立 ASP 页面的那一步。要调用 WebService ,可以直接使用 MicrosoftSOAPToolkit .NET这样的 SOAP客户端,也可以使用自己开发的    SOAP
户端,然后把它和应用程序连接起来。不仅缩短了开发周期,还减少了代码复杂度, 并能够增强应用程序的可维护性。同时,应用程序也不再需要在每次调用中间层组件
时,都跳转到相应的    结果页”。
从经验来看,在一个用户界面和中间层有较多交互的应用程序中,使用 WebService这种结构,可以节省花在用户界面编程上    20%的开发时间。另外,这样一
个由WebService组成的中间层,完全可以在应用程序集成或其它场合下重用。最后, 通过 WebService把应用程序的逻辑和数据    暴露”出来,还可以让其它平台上的客户重
用这些应用程序。
长项二:应用程序集成
企业级的应用程序开发者都知道,企业里经常都要把用不同语言写成的、在不同 平台上运行的各种程序集成起来,而这种集成将花费很大的开发力量。应用程序经常 需要从运行在    IBM主机上的程序中获取数据;或者把数据发送到主机或    UNIX应用
程序中去。即使在同一个平台上,    不同软件厂商生产的各种软件也常常需要集成起来。
通过 WebService,应用程序可以用标准的方法把功能和数据    暴露”出来,供其它应用
程序使用。
例如,有一个订单登录程序,用于登录从客户来的新订单,包括客户信息、发货 地址、数量、价格和付款方式等内容;还有一个订单    执行程序,用于实际货物发送的
管理。这两个程序来自不同软件厂商。一份新订单进来之后,订单登录程序需要通知 订单执行程序发送货物。通过在订单执行程序上面增加一层    WebService,订单执行程
序可以把 “AddOrder”函数 暴露”出来。这样,每当有新订单到来时,订单登录程序就 可以调用这个函数来发送货物了。
长项三:B2B的集成
WebService集成应用程序,可以使公司内部的商务处理更加自动化。但当交 易跨越供应商和客户、    突破公司的界限时会怎么样呢?跨公司的商务交易集成通常叫
B2B集成。
WebService B2B集成成功的关键。通过    WebService,公司可以把关键的商务
应用 暴露”给指定的供应商和客户。例如,把电子下单系统和电子发票系统    暴露”出
来,客户就可以以电子的方式发送订单,供应商则可以以电子的方式发送原料采购发 票。当然,这并不是一个新的概念,    EDI(电子文档交换早就是这样了。 但是,WebService
的实现要比 EDI简单得多,而且 WebService运行在In ternet上,在世界任何地方都可 轻易实现,其运行成本就相对较低。不过,    WebService并不像EDI那样,是文档交换
B2B集成的完整解决方案。    WebService只是B2B集成的一个关键部分,还需要许
多其它的部分才能实现集成。
WebService来实现B2B集成的最大好处在于可以轻易实现互操作性。只要把 商务逻辑 暴露”出来,成为 WebService,就可以让任何指定的合作伙伴调用这些商务 逻辑,而不管他们的系统在什么平台上运行,使用什么开发语言。这样就大大减少了
花在B2B集成上的时间和成本,让许多原本无法承受    EDI的中小企业也能实现    B2B
集成。
长项四:软件和数据重用
软件重用是一个很大的主题,重用的形式很多,重用的程度有大有小。最基本的 形式是源代码模块或者类一级的重用,另一种形式是二进制形式的组件重用。
2WebService集成各种应用中的功能,为用户提供一个统一的界面
当前,像表格控件或用户界面控件这样的可重用    软件组件,在市场上都占有很大
的份额。但这类软件的重用有一个很大的限制,    就是重用仅限于代码,    数据不能重用。
原因在于,发布组件甚至源代码都比较容易,但要发布数据就没那么容易,除非是不 会经常变化的静态数据。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。