我有一個接受URL作爲輸入,並返回該存在於該位置的文本數據下面的C#方法:C#獲取從WebRequest的不返回值的數據
public string GetWebData(string uri)
{
string response = string.Empty;
try
{
var request = WebRequest.Create(uri);
request.BeginGetResponse(result =>
{
var httpRequest = (HttpWebRequest)result.AsyncState;
var httpResponse = (HttpWebResponse)httpRequest.EndGetResponse(result);
using (var reader = new StreamReader(httpResponse.GetResponseStream()))
{
response = reader.ReadToEnd();
}
}, request);
}
catch (WebException)
{
response = string.Empty;
}
return response;
}
然而,reader.ReadToEnd( );方法返回一個空字符串。我不知道我是否做錯了什麼,因爲該方法在語法上似乎與我所諮詢的所有教程完全相同。我究竟做錯了什麼?
喬恩指出正確。你的意思是'GetWebData'返回空字符串或'reader.ReadToEnd()'返回空字符串? –
@SriramSakthivel我正在調查它。一旦我明白了,我會盡快回復你,我想我理解我的邏輯中的缺陷。 – miguelarcilla