我在做一個WebRequest
到Uri
,但問題是我沒有每次都得到響應。有時我需要重做它。我希望我的程序檢查它是否沒有響應,如果有,程序會自動調用WebRequest
的方法,直到我得到響應。HttpWebRequest每次都不起作用
在僞
while(response == null)
{
try it again
}
這是我的職責。資本評論是對我的問題的解釋
private string HttpWebRequest()
{
string xml = @"<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<Siri version='1.0' xmlns='http://www.siri.org.uk/'>
<ServiceRequest>
<RequestTimestamp>2011-10-24T15:09:12Z</RequestTimestamp>
<RequestorRef><USERNAME></RequestorRef>
<StopMonitoringRequest version='1.0'>
<RequestTimestamp>2011-10-24T15:09:12Z</RequestTimestamp>
<MessageIdentifier>12345</MessageIdentifier>
<MonitoringRef>020035811</MonitoringRef>
</StopMonitoringRequest>
</ServiceRequest>
</Siri>";
string responseFromServer = null;
WebRequest request = WebRequest
.Create("http://<USERNAME>:<PASSWORD>@nextbus.mxdata.co.uk/nextbuses/1.0/1");
request.Method = "POST";
string postData = xml;
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = byteArray.Length;
Stream dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
////////IF I GET NO RESPONSE EVERYTHING AFTER THE NEXT LINE WILL BE IGNORED
WebResponse response = request.GetResponse();
///////////THIS MESSAGEBOX WILL BE IGNORED
MessageBox.Show(((HttpWebResponse)response).StatusDescription+" Completed");
dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
responseFromServer = reader.ReadToEnd();
reader.Close();
dataStream.Close();
response.Close();
return responseFromServer;
}
我該如何解決這個問題?
究竟是什麼問題?您提供的僞代碼不會描述您提供的實際代碼,它本身包含的評論並不真正描述您正在討論的內容。至於問題的實際根源,沒有收到答覆,究竟發生了什麼?預計會發生什麼? – David 2013-03-27 11:52:27
我冒昧地清理您的帖子,刪除評論和indending。對我而言,現在閱讀起來要容易一些。如果你覺得有什麼不對,請告訴我。它也可以通過您的文章下的「編輯」按鈕進行更正。 – Default 2013-03-27 14:35:50