日期:2014-05-17  浏览次数:21051 次

HttpWebRequest的效率问题
反复用到HttpWebRequest来获取网页源码(多线程的)  要怎么优化代码或有什么好的方法来提高访问速度...

------解决方案--------------------
这个不是 Socket

效率问题 不是这样考虑的
------解决方案--------------------
引用:
这个不是 Socket

效率问题 不是这样考虑的

+1
还有这个是在网上获取的``是在IE里面啊 代码再牛网速慢如牛你也没办法
HttpWebRequest只是一个方法~ 你调用而已,如果你真想让这个方法少占点内存
你看看它是从哪里派生出来的` 基类是什么`然后再想办法吧
------解决方案--------------------
给你一个多线程的版本的,不卡ui界面:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Net;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Threading;
namespace test
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private static string str_url = string.Empty;
        public delegate void SetTextHandler(string text); 
        private void toolStripButton1_Click(object sender, EventArgs e)
        {
            if (toolStripTextBox1.Text.Length > 0)
            {
                str_url = toolStripTextBox1.Text.Trim();
                ParameterizedThreadStart ParStart = new ParameterizedThreadStart(GetPageSource);   
                Thread myThread = new Thread(ParStart);
                //是否背景线程根据自己需要加,加上后理论上不影响界面的操作,就是不卡
                myThread.IsBackground = true;
                object o = str_url;   
                myThread.Start(o);
                //GetPageSource(toolStripTextBox1.Text.ToString().Trim());
            }
        }

        private void GetPageSource(object url)
        {
            Uri uri = new Uri(url.ToString());
            HttpWebRequest hwReq = (HttpW