// Token: 0x06000314 RID: 788 RVA: 0x000137EC File Offset: 0x000119EC private RfriStatus EndWrapper(string methodName, ICancelableAsyncResult asyncResult, Func <RfriDispatchTask, RfriStatus> endDelegate) { RfriStatus rfriStatus = RfriStatus.Success; RfriAsyncDispatch.ConditionalExceptionWrapper(ExTraceGlobals.ReferralTracer.IsTraceEnabled(TraceType.DebugTrace), delegate { DispatchTaskAsyncResult dispatchTaskAsyncResult = asyncResult as DispatchTaskAsyncResult; if (dispatchTaskAsyncResult != null) { RfriDispatchTask rfriDispatchTask = (RfriDispatchTask)dispatchTaskAsyncResult.DispatchTask; using (DisposeGuard disposeGuard = default(DisposeGuard)) { disposeGuard.Add <RfriDispatchTask>(rfriDispatchTask); rfriStatus = endDelegate(rfriDispatchTask); } ExTraceGlobals.ReferralTracer.TraceDebug <string, RfriStatus>(0, 0L, "{0} succeeded. RfriStatus={1}.", methodName, rfriStatus); return; } FailureAsyncResult <RfriStatus> failureAsyncResult = asyncResult as FailureAsyncResult <RfriStatus>; if (failureAsyncResult != null) { rfriStatus = failureAsyncResult.ErrorCode; ExTraceGlobals.ReferralTracer.TraceDebug <string, RfriStatus, Exception>(0, 0L, "{0} failed. RfriStatus={1}. Exception={2}.", methodName, rfriStatus, failureAsyncResult.Exception); return; } throw new InvalidOperationException(string.Format("Invalid IAsyncResult encountered; {0}", asyncResult)); }, delegate(Exception exception) { ExTraceGlobals.ReferralTracer.TraceDebug <string, Exception>(0, 0L, "{0} failed. Exception={1}.", methodName, exception); }); return(rfriStatus); }
internal void Append(string operation, RfriStatus status, int queuedTime, int processingTime) { if (ProtocolLog.Enabled) { this.Append(operation, (status == RfriStatus.Success) ? null : string.Format(NumberFormatInfo.InvariantInfo, "{0:X}", new object[] { (int)status }), queuedTime, processingTime); } }
internal RfriStatus GetAddressBookUrl(string hostname, string userDn, out string serverUrl) { serverUrl = string.Empty; RfriStatus result = RfriStatus.NoSuchObject; string mailboxId; if (this.TryGetPersonalizedServer(userDn, out mailboxId)) { serverUrl = MapiHttpEndpoints.GetAddressBookUrl(hostname, mailboxId); result = RfriStatus.Success; } return(result); }
internal RfriStatus GetMailboxUrl(string hostname, string serverDn, out string serverUrl) { serverUrl = string.Empty; string text; RfriStatus rfriStatus = this.GetFQDNFromLegacyDN(serverDn, out text); if (rfriStatus == RfriStatus.Success) { if (text.Contains("@")) { serverUrl = MapiHttpEndpoints.GetMailboxUrl(hostname, text); } else { rfriStatus = RfriStatus.NoSuchObject; } } return(rfriStatus); }
internal RfriStatus GetFQDNFromLegacyDN(string legacyDN, out string serverFQDN) { RfriStatus rfriStatus = RfriStatus.Success; serverFQDN = null; RfriContext.ReferralTracer.TraceDebug <string>((long)this.ContextHandle, "Requested DN: {0}", RfriContext.GetString(legacyDN)); if (legacyDN.Contains("@")) { LegacyDN legacyDN2; if (LegacyDN.TryParse(legacyDN, out legacyDN2)) { string text; legacyDN2.GetParentLegacyDN(out text, out serverFQDN); if (string.IsNullOrEmpty(serverFQDN) || !serverFQDN.Contains("@")) { rfriStatus = RfriStatus.NoSuchObject; } } else { rfriStatus = RfriStatus.NoSuchObject; } } else { legacyDN = ExchangeRpcClientAccess.FixFakeRedirectLegacyDNIfNeeded(legacyDN); rfriStatus = ServerFqdnCache.LookupFQDNByLegacyDN(legacyDN, out serverFQDN); } if (rfriStatus != RfriStatus.Success || string.IsNullOrEmpty(serverFQDN)) { if (rfriStatus == RfriStatus.Success) { rfriStatus = RfriStatus.NoSuchObject; } this.ProtocolLogSession[ProtocolLog.Field.Failures] = RfriContext.GetString(legacyDN); } else { RfriContext.ReferralTracer.TraceDebug <string>((long)this.ContextHandle, "Referring to {0}", serverFQDN); } return(rfriStatus); }
// Token: 0x06000316 RID: 790 RVA: 0x0001385C File Offset: 0x00011A5C internal RfriException(RfriStatus status, string message) : base(message) { base.HResult = (int)status; }