首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web Service >

新手有关问题:连接webservice超时错误的有关问题

2012-12-15 
新手问题:连接webservice超时异常的问题我已经知道服务器端的超时在iis中可以设置新手问题:请问客户端连接

新手问题:连接webservice超时异常的问题
我已经知道服务器端的超时在iis中可以设置

新手问题:

请问客户端连接时候的超时代码应该如何写,在哪里设置??

还有一个问题,就是如果webservice服务器不可用(停机)或者客户端本身网络有问题连接不上的情况下,如何尽快捕获异常,停止连接尝试,现在如果网络连不上要等30秒左右才报无法连接远程服务器,有没有办法缩短至10秒这样?
[最优解释]
WebService超时设置 

1. 服务器端设置超时

在 web.config 的 system.web 里添加如下配置项:

< httpRuntime

executionTimeout="30"

/>

以上时间单位是秒.

记得要把 web.config 的 debug 模式关闭:

< compilation 

defaultLanguage="c#"

debug="false"

/>

2. 客户端设置超时

在 WebService 的客户端代理程序(用 wsdl.exe 生成)里设置 Request 超时时间, 单位是毫秒:

protected override WebRequest GetWebRequest(Uri uri)

{

HttpWebRequest wr = (HttpWebRequest)base.GetWebRequest( uri );

wr.Timeout = 30*1000;

return wr;

}

[其他解释]


比如:
tvXml.WebService tv = new Data.tvXml.WebService();
public DataSet GetTvProgramList(string theDate,string theTvChannelID,ref string state)
{
   tv.Timeout = 60000;
   DataSet ds=new DataSet();
   try
   {
       //                    
   }
   catch
   { 
                
   }
   return ds;
}

[其他解释]
在获取服务端代理的时候设置。。。
[其他解释]
楼上的请问一下你的那个问题解决了吗,我现在也遇到你同样的一个问题,楼主看见我的回复请加一下我的QQ593248154 ,O(∩_∩)O谢谢哦,希望一起学习!
[其他解释]
请问这段代码

protected override WebRequest GetWebRequest(Uri uri)

应该写在哪里,是不是每次调用的时候都要先执行一遍

像我所说的那种情况,比如说服务器停机,有没有客户端预先判断的办法避免连接?
[其他解释]
引用:
请问这段代码

protected override WebRequest GetWebRequest(Uri uri)

应该写在哪里,是不是每次调用的时候都要先执行一遍

像我所说的那种情况,比如说服务器停机,有没有客户端预先判断的办法避免连接?

首先将引用该WebServices的程序在IDE中打开;
然后在“解决方案资源管理器”中展开“web reference”——“webservices 名”——“Reference.map”——“Reference.cscs文件中添加
[其他解释]
引用:
引用:
请问这段代码

protected override WebRequest GetWebRequest(Uri uri)

应该写在哪里,是不是每次调用的时候都要先执行一遍

像我所说的那种情况,比如说服务器停机,有没有客户端预先判断的办法避免连接?

首先将引用该WebServices的程序在IDE中打开;
然后在“解决方案资源管理器”中展开“web ……


不好意思,Reference.map 这个文件我就没有找到,请具体说一下
[其他解释]
引用:
引用:
引用:
请问这段代码

protected override WebRequest GetWebRequest(Uri uri)

应该写在哪里,是不是每次调用的时候都要先执行一遍

像我所说的那种情况,比如说服务器停机,有没有客户端预先判断的办法避免连接?



首先将引用该WebServices的程序在IDE中打开;
然后在“解决方案资……


点击"Solution Explorer"上的"显示所有文件",然后再按我说的路径找
[其他解释]
感谢,找到了,代码加在哪一段,,,我加了几个地方,总是报错,  找不到 GetWebRequest方法重写
[其他解释]
OK,认真看了下,找到了,我试试

热点排行