public void ProcessRoutingUpdates(string headerValue) { if (string.IsNullOrEmpty(headerValue)) { throw new ArgumentNullException("headerValue"); } string[] array = headerValue.Split(new char[] { ',' }); foreach (string text in array) { try { IRoutingEntry routingEntry = RoutingEntryHeaderSerializer.Deserialize(text); if (ServerLocator.IsMailboxServerCacheKey(routingEntry.Key) && routingEntry.Destination.RoutingItemType == RoutingItemType.Server) { this.routeRefresherDiagnostics.IncrementTotalMailboxServerCacheUpdateAttempts(); if (this.mailboxServerCacheClient.AddEntry(routingEntry)) { string value = "MailboxServerCacheUpdate:" + text; this.routeRefresherDiagnostics.AddGenericInfo(value); this.routeRefresherDiagnostics.IncrementSuccessfulMailboxServerCacheUpdates(); } else { string value2 = "MailboxServerCacheFailure:" + text; this.routeRefresherDiagnostics.AddErrorInfo(value2); } } else if (ServerLocator.IsAnchorMailboxCacheKey(routingEntry.Key) && routingEntry.Destination.RoutingItemType == RoutingItemType.DatabaseGuid) { this.routeRefresherDiagnostics.IncrementTotalAnchorMailboxCacheUpdateAttempts(); if (this.anchorMailboxCacheClient.AddEntry(routingEntry)) { string value3 = "AnchorMailboxCacheUpdate:" + text; this.routeRefresherDiagnostics.AddGenericInfo(value3); this.routeRefresherDiagnostics.IncrementSuccessfulAnchorMailboxCacheUpdates(); } else { string value4 = "AnchorMailboxCacheFailure:" + text; this.routeRefresherDiagnostics.AddErrorInfo(value4); } } else { string value5 = "UnrecognizedRoutingEntry:" + text; this.routeRefresherDiagnostics.AddErrorInfo(value5); } } catch (ArgumentException) { string value6 = "DeserializationException:" + text; this.routeRefresherDiagnostics.AddErrorInfo(value6); } } }