Exemple #1
0
        public static IAsyncResult GetImageryMetadataAsync(ImageryMetadataRequest imageryRequest, Action <Response> clientCallback, Action <Exception> clientErrorCallback)
        {
            HttpWebRequest            httpWebRequest = WebRequest.Create(imageryRequest.GetRequestUrl()) as HttpWebRequest;
            InternalAsyncRequestState state          = new InternalAsyncRequestState
            {
                Request          = httpWebRequest,
                ResponseCallBack = clientCallback,
                ErrorCallBack    = clientErrorCallback
            };

            return(httpWebRequest.BeginGetResponse(RespCallback, state));
        }
Exemple #2
0
        private static void RespCallback(IAsyncResult asynchronousResult)
        {
            InternalAsyncRequestState internalAsyncRequestState = (InternalAsyncRequestState)asynchronousResult.AsyncState;

            try
            {
                Response response = ReadResponse((HttpWebResponse)internalAsyncRequestState.Request.EndGetResponse(asynchronousResult));
                if (response != null)
                {
                    internalAsyncRequestState.ResponseCallBack(response);
                }
                else
                {
                    internalAsyncRequestState.ErrorCallBack(new Exception("Error parsing Bing Maps Response"));
                }
            }
            catch (WebException obj)
            {
                internalAsyncRequestState.ErrorCallBack(obj);
            }
        }