Вам нужно сделать асинхронные запросы, например:
var webRequest = (HttpWebRequest)HttpWebRequest.Create(Url);
webRequest.BeginGetResponse(new AsyncCallback(request_CallBack), webRequest );
и обработчик ответа:
void request_CallBack(IAsyncResult result)
{
var webRequest = result.AsyncState as HttpWebRequest;
var response = (HttpWebResponse)WebRequest.EndGetResponse(result);
var baseStream = response.GetResponseStream();
// if you want to read binary response
using (var reader = new BinaryReader(baseStream))
{
DataBytes = reader.ReadBytes((int)baseStream.Length);
}
// if you want to read string response
using (var reader = new StreamReader(baseStream))
{
Result = reader.ReadToEnd();
}
}
Вот вспомогательный класс, который я разработал для обработки моих запросов веб-запросов во время разработкиWindows Phone 7 приложений:
http://www.manorey.net/mohblog/?p=17&preview=true