C# HttpWebRequest & HttpWebResponse
本文关键字:HttpWebResponse amp HttpWebRequest | 更新日期: 2023-09-27 18:21:24
我有个问题/我需要帮助,我正在为我的C#程序制作一个"更新程序",但我总是收到这个错误
无法将类型"System.Net.WebRequest"隐式转换为"System.Net.HttpWebRequest"。存在显式转换(您是缺少演员阵容?)
我试图让这个"更新程序"尽可能类似于我的.vb"更新程序",如果有人能帮我解决这个错误,我会非常感激和高兴,或者如果有人可以给我发一个关于C#的链接来阅读等等。我也会非常感谢,我对C#或C家族以及都很陌生
System.Net.HttpWebRequest request = System.Net.HttpWebRequest.Create("link");
System.Net.HttpWebResponse response = request.GetResponse();
System.IO.StreamReader sr = new System.IO.StreamReader(response.GetResponseStream());
string newestversion = sr.ReadToEnd();
string currentversion = Application.ProductVersion;
提前感谢!
您必须使用System.Net.WebRequest.Create
方法并将返回的实例强制转换为System.Net.HttpWebRequest
:
HttpWebRequest myReq =
(HttpWebRequest)WebRequest.Create("http://www.contoso.com/");
请参阅:https://msdn.microsoft.com/en-us/library/system.net.httpwebrequest(v=vs.110).aspx#Anchor_7
如果您查看WebRequest.Create
的文档,您会发现该方法的返回类型是WebRequest
,因此您需要在代码中返回它:
System.Net.WebRequest request = System.Net.HttpWebRequest.Create("http://www.google.com");
System.Net.WebResponse response = request.GetResponse();
System.IO.StreamReader sr = new System.IO.StreamReader(response.GetResponseStream());
string newestversion = sr.ReadToEnd();
HttpWebRequest.Create()
实际上是WebRequest.Create()
,它返回一个WebRequest
。如果需要,可以将其强制转换为HttpWebRequest
。