如何使用httpWebRequest和方法BeginGetRequestStream Windows Phone 7管理超时

问题描述

|| 我有这个示例,但是我想知道该示例如何管理超时。请帮我。 提前致谢
public void callREST()
{

Uri uri = new Uri(\"http://www.domain.com/RestService\"); 
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
request.Method = \"POST\";
request.ContentType = \"application/xml\";    

request.BeginGetRequestStream(sendXML_RequestCallback,request);                  

}

private void sendXML_RequestCallback(IAsyncResult result)
{
    var req = result.AsyncState as HttpWebRequest;

    byte[] toSign = Encoding.GetEncoding(\"ISO-8859-1\").GetBytes(\"<xml></xml>\");

    using (var strm = req.EndGetRequestStream(result))
    {
        strm.Write(toSign,toSign.Length);
        strm.Flush();
    }
req.BeginGetResponse(this.fCallback,req);
}

private void fCallback(IAsyncResult result)
{
     var req = result.AsyncState as HttpWebRequest;                
     var resp = req.EndGetResponse(result);
     var strm = resp.GetResponseStream();
     //Do something
}
    

解决方法

        Silverlight / Windows Phone 7中的HttpWebRequest不支持ѭ1。 您需要创建一个
Timer
并在开始请求的同时启动它。如果定时器在HWR返回之前触发,则“ 3”请求并认为它已超时。 有关更多详细信息和示例,请参见:WP7中的HttpWebRequest超时不适用于计时器