public void SetResultInAllQueries(BaseQueryResult result) { foreach (BaseQuery baseQuery in this.queryList) { if (baseQuery.SetResultOnFirstCall(result)) { QueryList.RequestRoutingTracer.TraceError <object, EmailAddress, BaseQueryResult>((long)this.GetHashCode(), "{0}: the following result was set for query {1}: {2}", TraceContext.Get(), baseQuery.Email, result); } } }
internal override BaseQueryResult GetData(BaseQuery query) { FreeBusyQuery freeBusyQuery = (FreeBusyQuery)query; Guid serverRequestId = Trace.TraceCasStart(CasTraceEventType.Availability); EmailAddress email = freeBusyQuery.Email; BaseQueryResult dataInternal = this.GetDataInternal(freeBusyQuery, email); this.TraceRequestStop(email, serverRequestId); return(dataInternal); }
protected override void HandleException(Exception exception) { if (GetFolderRequest.GetFolderRequestTracer.IsTraceEnabled(TraceType.ErrorTrace)) { GetFolderRequest.GetFolderRequestTracer.TraceError <object, Exception>((long)this.GetHashCode(), "{0}: Exception occurred while completing GetFolder web request. Exception info is {1}. ", TraceContext.Get(), exception); } GetFolderRequestProcessingException exception2 = this.GenerateException(HttpWebRequestExceptionHandler.TranslateExceptionString(exception)); BaseQueryResult baseQueryResult = base.Application.CreateQueryResult(exception2); if (this.query.SetResultOnFirstCall(baseQueryResult)) { GetFolderRequest.GetFolderRequestTracer.TraceError <object, EmailAddress, BaseQueryResult>((long)this.GetHashCode(), "{0}: the following result was set for query {1}: {2}", TraceContext.Get(), this.query.Email, baseQueryResult); } }
public bool SetResultOnFirstCall(BaseQueryResult result) { BaseQueryResult baseQueryResult = Interlocked.CompareExchange <BaseQueryResult>(ref this.result, result, null); return(baseQueryResult == null); }
protected BaseQuery(RecipientData recipientData, BaseQueryResult result) { this.recipientData = recipientData; this.result = result; this.logData = new Dictionary <string, string>(); }