命名空间X已包含XX的定义?

时间:2015-10-27 14:52:12

标签: c# .net http interface request

我不明白我得到的这个错误。我曾多次尝试清理和构建我的项目。谁能帮我? Program.cs的

using System;
using System.Collections.Generic;
using System.Net.NetworkInformation;
using System.Net.Sockets;
using System.IO;
using System.Threading.Tasks;

namespace HTTPrequestApp
{
    class Program
    {
        static void Main(string[] args)
        {
            var lstWebSites = new List<string>
            {
                "www.mearstransportation.com",
                "www.amazon.com",
                "www.ebay.com",
                "www.att.com",
                "www.verizon.com",
                "www.sprint.com",
                "www.centurylink.com",
                "www.yahoo.com"
            };
            string filename = @"RequestLog.txt";
            {
                using (var writer = new StreamWriter(filename, true))
                {
                    foreach (string website in lstWebSites)
                    {
                        for (var i = 0; i < 4; i++)
                        {
                            MyWebRequest request = new MyWebRequest();
                            request.Request(website);
                        }
                    }
                }
            }
        }
    }
}

MyWebRequest.cs - 问题在于:公共类MyWebRequest 错误是:&#34;名称空间HttpRequestApp已经包含MyWebRequest的定义&#34;

using HTTPrequestApp.MyWebRequest;
using System;
using System.Collections.Generic;
using System.IO;
using System.Net.NetworkInformation;
using System.Net.Sockets;
using System.Threading.Tasks;

namespace HTTPrequestApp
{
    public class MyWebRequest : IWebRequest
    {
        public void Request(string strWebSite)
        {
            List<string> lstWebSites = Program.GetList(strWebSite);
            using (var client2 = new TcpClient(strWebSite, 80))
            {
                using (NetworkStream stream = client2.GetStream())
                using (StreamWriter writer = new StreamWriter(stream))
                using (StreamReader reader2 = new StreamReader(stream))
                {
                    //writer.AutoFlush = true;
                    writer.WriteLine("GET / HTTP/1.1");
                    writer.WriteLine("HOST: {0}:80", lstWebSites[1]);
                    writer.WriteLine("Connection: Close");
                    writer.WriteLine();
                    writer.WriteLine();

                    string theresponse = reader2.ReadToEnd();
                    Console.WriteLine(theresponse);
                }
            }
        }
    }
}

IWebRequest.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//using System.IO;
using System.Threading.Tasks;
//using MyWebRequest.Lib;

namespace HTTPrequestApp.MyWebRequest
{
    public interface IWebRequest
    {
        Task<List<strWebSite>> GetList();
        void Request();
    }
}

要过度了解我要在这里完成的工作是:发送HTTP请求以获取初始页面。获取HTTP响应并检查它是否为200响应代码。并且花时间检索响应需要多长时间。 这是一个控制台应用程序,但我需要它不依赖于控制台,它需要是一个独立的应用程序,所以我可以在其他地方使用它。 如果有人对如何简化我的代码有任何建议,请告诉我。 谢谢。

1 个答案:

答案 0 :(得分:5)

你有一个HTTPrequestApp.MyWebRequest命名空间和一个HTTPrequestApp.MyWebRequest类名:c#编译器混淆了(人也是......)

如果你真的想要一个不同的命名空间,请考虑在HTTPrequestApp.MyWebRequestNameSpace之类的内容中重命名命名空间。