大家好.

a260881071 2012-11-09 07:08:07
 WebClient wc = new WebClient();
wc.Encoding = System.Text.Encoding.UTF8;
string strUrl;
if (context.Request.Cookies["lang"] != null && context.Request.Cookies["lang"].Value == "en-us")
strUrl = "http://maps.googleapis.com/maps/api/geocode/json?latlng=" + lat + "," + lon + "&sensor=false";
else
strUrl = "http://maps.googleapis.com/maps/api/geocode/json?latlng=" + lat + "," + lon + "&sensor=false&language=zh-CN";
try
{
string jsonStr = wc.DownloadString(strUrl);//执行时间过长
int begin = jsonStr.IndexOf("formatted_address");
if (begin < 0) return "";
int end = jsonStr.IndexOf("geometry");
return jsonStr.Substring(begin + 22, end - begin - 35);
}
catch
{
return "";
}



如果判断执行时间过长的那行代码,比如三到五秒钟仍然没有返回结果的就直接返回空.

...全文
132 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
宝_爸 2012-11-09
  • 打赏
  • 举报
回复

public class MyWebClient: WebClient
{
   //time in milliseconds
    private int timeout;
   public int Timeout
   {
           get {
               return timeout;
           }
           set {
               timeout = value;
           }
    }

    public MyWebClient()
    {
           this.timeout = 60000;
    }

     public MyWebClient(int timeout)
    {
           this.timeout = timeout;
    }

    protected override WebRequest GetWebRequest(Uri address)
     {
           var result = base.GetWebRequest(address);
           result.Timeout = this.timeout;
           return result;
    }
}
代码来自下面文章 http://w3ka.blogspot.com.au/2009/12/how-to-fix-webclient-timeout-issue.html

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧