Skip to main content
 首页 » 编程设计

c#之HttpWebRequest 在我的 System.Net 引用中不可见

2024年01月28日29thcjp

我有一个 WindowsApplication 项目,其中 Reference-folder 缺少一个文件。我已经将它与我找到该文件的另一个项目进行了比较,它应该在这里找到: 引用->System->System.Net->HttpWebRequest

我如何将这个文件添加到我的项目中,为什么它没有自动加载,我做错了什么?

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 
 
namespace GetStockData 
{ 
    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
            string ticker = this.tbTicker.Text; 
            DateTime startDate = this.dtpStart.Value; 
            DateTime endDate = this.dtpEnd.Value; 
 
            int startMonth = startDate.Month - 1; 
            int endMonth = endDate.Month - 1; 
            string theURL = @"http://ichart.finance.yahoo.com/table.csv?s="  
                + ticker + @"&a=" + startMonth.ToString() + @"&b=" + startDate.Day.ToString()  
                + @"&c=" + startDate.Year.ToString() + @"&d=" + endMonth.ToString() + @"&e=" + endDate.Day.ToString()  
                + @"&f=" + endDate.Year.ToString() + @"&g=d&ignore=.csv"; 
 
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(theURL); 
            HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 
 
            Stream resStream = response.GetResponseStream(); 
            StringBuilder sb = new StringBuilder(); 
            byte[] buf = new byte[8192]; 
            string tempString = null; 
            int count = 0; 
 
            do { 
                count = resStream.Read(buf, 0, buf.Length); 
                if (count != 0) { 
                    tempString = Encoding.ASCII.GetString(buf, 0, count); 
                    sb.Append(tempString); 
                    } 
            } 
            while (count > 0); 
            string data = sb.ToString(); 
            String[] data2 = data.Split('\n'); 
            int iteration = 0; 
            dates = new DateTime[data2.Length - 2]; 
            open = new double[data2.Length - 2]; 
            high = new double[data2.Length - 2]; 
            low = new double[data2.Length - 2]; 
            close = new double[data2.Length - 2]; 
            volume = new double[data2.Length - 2]; 
            adjClose = new double[data2.Length - 2]; 
            foreach (string strLine in data2) 
            { 
                String[] entries = strLine.Split(','); 
                if ((iteration != 0) && (entries[0] != "")) 
                { 
                    dates[iteration - 1] = System.Convert.ToDateTime(entries[0]); 
                    open[iteration - 1] = System.Convert.ToDouble(entries[1]); 
                    high[iteration - 1] = System.Convert.ToDouble(entries[2]); 
                    low[iteration - 1] = System.Convert.ToDouble(entries[3]); 
                    close[iteration - 1] = System.Convert.ToDouble(entries[4]); 
                    volume[iteration - 1] = System.Convert.ToDouble(entries[5]); 
                    adjClose[iteration - 1] = System.Convert.ToDouble(entries[6]); 
                } 
                iteration = iteration + 1; 
            } 
        } 
 
        private void button1_Click(object sender, EventArgs e) 
        { 
 
        } 
    } 
} 

亲切的问候 埃斯彭

请您参考如下方法:

have I done something wrong?

你忘了添加:

using System.Net; 

为了引入HttpWebRequest所在的命名空间类被定义到范围内。