WebRequest多线程 超时问题
来源:互联网 发布:java中main() 编辑:程序博客网 时间:2024/06/07 02:26
using System;using System.Collections;using System.Collections.Generic;using System.Net;using System.Threading;using System.Net.Sockets;using System.Net.NetworkInformation;public class ThreadDemo{ public static void Main() { List<Thread> tls = new List<Thread>(); System.Net.ServicePointManager.DefaultConnectionLimit = 20;//最大并发数,.net默认并发只有2个 for (int i = 0; i < 50; i++) { tls.Add(new Thread(new ThreadStart(test))); tls[i].Name = "线程" + (i + 1); tls[i].Start(); } } public static void test() { new RequestTest().GetRequest(Thread.CurrentThread.Name, "http://163.com"); }}public class RequestTest{ System.Net.HttpWebRequest httpReq = null; System.Net.HttpWebResponse httpRes = null; /// <summary> /// 通过WebRequest来访问网址,网址必须包含http:或https: /// </summary> /// <param name="threadName">当前线程</param> /// <param name="url">要访问的网址</param> public void GetRequest(string threadName, string url) { if (string.IsNullOrEmpty(url) || url.Length <= 0) return; DateTime dt = DateTime.Now; if (!url.Contains(".")) { return; } if (!url.Contains("http://") && !url.Contains("https://")) url = "http://" + url; try { httpReq = (HttpWebRequest)WebRequest.Create(url); httpReq.Proxy = null;//不使用代理 .NET4.0中的默认代理是开启的 httpReq.KeepAlive = false;//不建立持久性连接 httpReq.Timeout = 5000;//连接网址的超时时间 httpReq.ReadWriteTimeout = 5000;//读取网址内容的超时时间 httpRes = (HttpWebResponse)httpReq.GetResponse(); Console.WriteLine(threadName + " " + url + ":" + httpRes.StatusCode); } catch (Exception e) { Console.WriteLine(threadName + " " + url + " Error:" + e.Message); } finally { if (httpRes != null) { httpRes.Close();//关闭连接 } if (httpReq != null) { httpReq.Abort();//中止请求 } httpReq = null; httpRes = null; System.GC.Collect();//强制垃圾回收,并释放资源 } }}
转自:http://www.cnblogs.com/huangtailang/archive/2013/07/09/3180651.html
0 0
- WebRequest多线程 超时问题
- WebRequest 超时不起作用
- WebRequest 超时不起作用
- c# WebRequest或HttpWebRequest多线程下载一定要注意到问题
- WebRequest 乱码 问题
- 应用多线程:解决等待超时问题
- 应用多线程:解决等待超时问题
- WebRequest
- WebRequest
- WebRequest
- WebRequest.GetSystemWebProxy()的效能问题
- 超时问题
- Pthread多线程超时取消
- Pthread多线程超时取消
- boost 多线程 超时
- 多线程执行超时处理
- 使用WebRequest 检测 手机号归属地。 C#通用 使用json 和可设定超时的WebClient
- WebRequest提交时中文乱码问题的解决
- 矩形面积交---蓝桥杯
- Android 修改包名
- 9.15 协议
- AsyncTask
- websphere mq 与数据库的对比
- WebRequest多线程 超时问题
- 9.16 OC相关
- 9.17 NSString . UIImage 与 NSData 转换
- C++线程访问类成员
- windows8.1安装vc++6.0,正常使用的调整方法(查阅大量资料后亲测有效)
- http://msh.baidu.com/UTWpR6wY4722
- vim配置相关资源
- websphere mq
- if和else if和switch