Even without the incomplete code this sample is horribly broken on Silverlight. $0
$0
The WaitOne() will block the the UI thread if called from it, preventing the WebRequest from ever completing. This is because HttpWebRequest returns the response on the UI thread no matter what thread the request is initiated from. There seems to be no way to block the UI Thread **AND** await the response, because the call pretends to be async, but in reality is on the UI Thread.