简体   繁体   English

在我的System.Net参考中看不到HttpWebRequest

[英]HttpWebRequest is not visible in my System.Net Reference

I have a WindowsApplication project where the Reference-folder is missing a file. 我有一个WindowsApplication项目,其中参考文件夹缺少文件。 I've compared it with another project where I do find the file, and it should be found here: References->System->System.Net->HttpWebRequest 我已经将它与另一个找到文件的项目进行了比较,应该在这里找到它:References-> System-> System.Net-> HttpWebRequest

How can I add this file to my project, and why isn't it loaded automatically, have I done something wrong? 如何将这个文件添加到我的项目中,为什么我做错了什么不自动加载?

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)
        {

        }
    }
}

Kind regards Espen 亲切的问候

have I done something wrong? 我做错了什么吗?

You forgot to add: 您忘记添加:

using System.Net;

in order to bring the namespace in which the HttpWebRequest class is defined into scope. 为了将定义HttpWebRequest类的名称空间引入范围。

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(',');

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM