繁体   English   中英

UWP(C#)中的HttpWebRequest

[英]HttpWebRequest in UWP (C#)

我正在编写使HttpWebRequest到网站的代码

如果网站正常运行,它将返回HttpStatusCode.OK

如果不是,它将返回HttpStatusCode.NotFound

我的密码

 var url = "http://simplegames.com.ua/";

        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
        HttpWebResponse response = (HttpWebResponse)request.GetResponse();
        if (response.StatusCode == HttpStatusCode.OK)
        {
             Debug.WriteLine("All ok");
        }
        else if (response.StatusCode == HttpStatusCode.NotFound)
        {
            Debug.WriteLine("URL not working");
        }
        response.Close();

但是我有错误

1)严重性代码描述项目文件行抑制状态错误CS1061'HttpWebRequest'不包含'GetResponse'的定义,并且找不到扩展方法'GetResponse'接受类型为'HttpWebRequest'的第一个参数(您是否缺少using指令?还是程序集引用?)Milano C:\\ Users \\ nemes \\ Documents \\ GitHub \\ Milano_pizza \\ Milano \\ MainPage.xaml.cs 50有效

2)严重性代码说明项目文件行抑制状态错误CS1929'HttpWebResponse'不包含'Close'的定义,最佳扩展方法重载'ExtensionMethods.Close(Stream)'需要类型为'Stream'的接收器Milano C:\\用户\\ nemes \\ Documents \\ GitHub \\ Milano_pizza \\ Milano \\ MainPage.xaml.cs 59有效

虽然我们可以在UWP应用程序中使用HttpWebRequest类 ,但不是其所有方法都可以。 HttpWebRequest.GetResponse方法HttpWebResponse.Close方法是UWP应用程序中不能使用的方法。 通常,我们可以通过检查文档底部的“ 版本信息”来确定是否可以在UWP应用中使用一种方法。 如果我们可以在“ 版本信息 下找到“ 通用Windows平台” ,那么我们应该能够在UWP应用中使用此方法。

在.NET Core / UWP中, System.Net.HttpWebRequest类位于System.Net.Requests库中,建议不要使用。 参考。 适用于UWP应用的.NET网络API

System.Net.Requests

该库包含与System.Net.HttpWebRequestSystem.Net.HttpWebResponse类相关的类型,这些类型允许开发人员实现HTTP协议的客户端角色。 .NET Core 5的API表面与Windows 8.1应用程序可用的API表面相同,并且与.NET Framework中的表面相比非常受限制 这是有意的 ,我们强烈建议改用HttpClient API ,这是我们未来的精力和创新重点。

提供该库的目的纯粹是为了向后兼容,并阻止使用这些较旧API的.NET库的使用。 对于.NET Core,HttpWebRequest的实现实际上是基于HttpClient的(与.NET Framework的依赖关系顺序相反)。 如上所述,这样做的原因是为了避免在UWP应用程序上下文中使用托管的.NET HTTP堆栈,并转向HttpClient作为.NET开发人员的单个HTTP客户端角色API。

在UWP中,我们有两个HttpClient API ,分别是System.Net.Http.HttpClientWindows.Web.Http.HttpClient 您可以根据需要选择其中之一。 有关这两个HttpClient API的更多信息,请参见Universal Windows Platform中的使HttpClient API脱神秘

暂无
暂无

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

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