簡體   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