public override Message EndRequest (IAsyncResult result)
{
if (result == null)
throw new ArgumentNullException ("result");
HttpChannelRequestAsyncResult r = result as HttpChannelRequestAsyncResult;
if (r == null)
throw new InvalidOperationException ("Wrong IAsyncResult");
r.WaitEnd ();
return r.Response;
}