コード例 #1
0
        public override void EndProxyWebRequest(ProxyWebRequest proxyWebRequest, QueryList queryList, IService service, IAsyncResult asyncResult)
        {
            MailTipsApplication.GetMailTipsTracer.TraceFunction((long)this.traceId, "Entering MailTipsApplication.EndProxyWebRequest");
            GetMailTipsResponseMessageType getMailTipsResponseMessageType = service.EndGetMailTips(asyncResult);
            int hashCode = proxyWebRequest.GetHashCode();

            if (getMailTipsResponseMessageType == null)
            {
                Application.ProxyWebRequestTracer.TraceError((long)this.traceId, "{0}: Proxy web request returned NULL GetMailTipsResponseMessageType", new object[]
                {
                    TraceContext.Get()
                });
                queryList.SetResultInAllQueries(new MailTipsQueryResult(new NoEwsResponseException()));
                base.HandleNullResponse(proxyWebRequest);
                return;
            }
            ResponseCodeType responseCode = getMailTipsResponseMessageType.ResponseCode;

            if (responseCode != ResponseCodeType.NoError)
            {
                Application.ProxyWebRequestTracer.TraceError <object, string>((long)hashCode, "{0}: Proxy web request returned error code {1}", TraceContext.Get(), responseCode.ToString());
                queryList.SetResultInAllQueries(new MailTipsQueryResult(new ErrorEwsResponseException(responseCode)));
                return;
            }
            this.ProcessResponseMessages(hashCode, queryList, getMailTipsResponseMessageType);
        }
コード例 #2
0
 public override void EndProxyWebRequest(ProxyWebRequest proxyWebRequest, QueryList queryList, IService service, IAsyncResult asyncResult)
 {
     try
     {
         GetUserPhotoResponseMessageType getUserPhotoResponseMessageType = service.EndGetUserPhoto(asyncResult);
         queryList.SetResultInAllQueries(new UserPhotoQueryResult(getUserPhotoResponseMessageType.PictureData, getUserPhotoResponseMessageType.CacheId, getUserPhotoResponseMessageType.StatusCode, getUserPhotoResponseMessageType.Expires, getUserPhotoResponseMessageType.ContentType, this.upstreamTracer));
     }
     finally
     {
         this.proxyLatencyTracker.Stop();
     }
 }
コード例 #3
0
        public override void EndProxyWebRequest(ProxyWebRequest proxyWebRequest, QueryList queryList, IService service, IAsyncResult asyncResult)
        {
            TraceWrapper.SearchLibraryTracer.TraceDebug(this.traceId, "Entering FindMessageTrackingApplication.EndProxyWebRequest", new object[0]);
            FindMessageTrackingReportResponseMessageType findMessageTrackingReportResponseMessageType = service.EndFindMessageTrackingReport(asyncResult);

            if (findMessageTrackingReportResponseMessageType == null)
            {
                base.HandleNullResponse(proxyWebRequest);
                return;
            }
            if (findMessageTrackingReportResponseMessageType.ResponseClass != ResponseClassType.Success)
            {
                TraceWrapper.SearchLibraryTracer.TraceError <object, string, string>(this.traceId, "{0}: FindMTR proxy web request returned {1} and response code {2}", TraceContext.Get(), Names <ResponseClassType> .Map[(int)findMessageTrackingReportResponseMessageType.ResponseClass], findMessageTrackingReportResponseMessageType.ResponseCode);
            }
            this.ProcessResponseMessages(this.traceId, queryList, findMessageTrackingReportResponseMessageType);
        }