C# 在尝试从web API获取JSON数据的教程时,我偶然发现了这个错误,而视频没有遇到这个错误

C# 在尝试从web API获取JSON数据的教程时,我偶然发现了这个错误,而视频没有遇到这个错误,c#,json,api,C#,Json,Api,它告诉我要做的就是将GetResponse更改为:EndGetResponse()、BeginGetResponse()或GetResponseAsync() 错误消息显示:“HttpWebRequest”不包含“GetResponse”的定义,并且找不到接受“HttpWebRequest”类型的第一个参数的扩展方法“GetResponse”(是否缺少程序集引用?) 我在这个特定的部分遇到了一个错误: using (HttpWebResponse response = (HttpWebResp

它告诉我要做的就是将GetResponse更改为:EndGetResponse()、BeginGetResponse()或GetResponseAsync()

错误消息显示:“HttpWebRequest”不包含“GetResponse”的定义,并且找不到接受“HttpWebRequest”类型的第一个参数的扩展方法“GetResponse”(是否缺少程序集引用?)

我在这个特定的部分遇到了一个错误:

using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
        {
            if(response.StatusCode != HttpStatusCode.OK)
            {
                throw new Exception("error code:" + response.StatusCode.ToString());
这是上述视频中的代码:

public enum httpVerb
{
    GET,
    POST,
    PUT,
    DELETE
}

class RestClient
{
    public string endPoint { get; set; }
    public httpVerb httpMethod { get; set; }

    public RestClient()
    {
        endPoint = string.Empty;
        httpMethod = httpVerb.GET;
    }

    public string makeRequest()
    {
        string strResponseValue = string.Empty;

        HttpWebRequest request =      (HttpWebRequest)WebRequest.Create(endPoint);

        request.Method = httpMethod.ToString();

        using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
        {
            if(response.StatusCode != HttpStatusCode.OK)
            {
                throw new Exception("error code:" + response.StatusCode.ToString());
            }

            using (Stream responseStream = response.GetResponseStream())
            {
                if(responseStream != null)
                {
                    using (StreamReader reader = new StreamReader(responseStream))
                    {
                        strResponseValue = reader.ReadToEnd();
                    }
                }
            }
        }

        return strResponseValue;
    }
}

}

在不知道视频的细节或您的代码/项目的其他部分是什么样子的情况下,我只能看到错误:

HttpWebRequest'不包含“GetResponse”的定义,并且找不到接受“HttpWebRequest”类型的第一个参数的扩展方法“GetResponse”(是否缺少程序集引用?

是否检查了程序集引用以查看是否有对System.Net的引用

编辑

使用语句和程序集引用时,您可能会感到困惑。尽管类文件包含对System.Net的using语句,但项目本身可能没有对System.Net dll的引用

是关于如何在VisualStudio中管理这些引用的快速指南

作为快速检查:

  • 在Visual Studio项目中找到
    参考
    部分
  • 右键单击“参考资料”
  • 单击
    添加参考
  • Assemblies
    Framework
    部分中,验证是否选中了
    System.Net
  • 编辑#2


    看起来您创建了一个UWP项目,而不是视频的个性化Windows窗体项目类型。代码中出现错误的原因是HttpWebRequest的GetResponse()方法不能在UWP项目中使用。答案解释得更详细一些。

    介意给我们看一下视频吗?这就是我使用的语句:`
    使用系统;使用System.Collections.Generic;使用System.IO;使用System.Linq;Net系统;使用系统文本;使用System.Threading.Tasks另外,我在另一篇评论中发布了视频链接,这些评论似乎是正确的,但您还必须确保您的项目包含对System.Net的程序集引用。如果您正在使用Visual Studio,它将帮助您解释我的意思非常感谢您,我会尝试一下,并让您知道我刚刚编辑了我的答案,以便为您提供一些快速步骤,检查这是否确实是您的问题。当我右键单击项目并添加引用时,不会得到任何程序集。没有什么可补充的。我已经有了对System.Net.Http的引用