internal static string OrganizationNameForLogging(IRoutingKey key) { RoutingItemType routingItemType = key.RoutingItemType; if (routingItemType != RoutingItemType.ArchiveSmtp) { switch (routingItemType) { case RoutingItemType.MailboxGuid: { MailboxGuidRoutingKey mailboxGuidRoutingKey = key as MailboxGuidRoutingKey; return(mailboxGuidRoutingKey.TenantDomain); } case RoutingItemType.Smtp: { SmtpRoutingKey smtpRoutingKey = key as SmtpRoutingKey; return(smtpRoutingKey.SmtpAddress.Domain); } case RoutingItemType.LiveIdMemberName: { LiveIdMemberNameRoutingKey liveIdMemberNameRoutingKey = key as LiveIdMemberNameRoutingKey; return(liveIdMemberNameRoutingKey.OrganizationDomain); } } return(string.Empty); } ArchiveSmtpRoutingKey archiveSmtpRoutingKey = key as ArchiveSmtpRoutingKey; return(archiveSmtpRoutingKey.SmtpAddress.Domain); }
string ISharedCache.GetSharedCacheKeyFromRoutingKey(IRoutingKey key) { string text = string.Empty; switch (key.RoutingItemType) { case RoutingItemType.ArchiveSmtp: { ArchiveSmtpRoutingKey archiveSmtpRoutingKey = key as ArchiveSmtpRoutingKey; text = SharedCacheClientWrapper.MakeCacheKey(SharedCacheClientWrapper.AnchorSource.Smtp, archiveSmtpRoutingKey.SmtpAddress); text += "_Archive"; break; } case RoutingItemType.DatabaseGuid: { DatabaseGuidRoutingKey databaseGuidRoutingKey = key as DatabaseGuidRoutingKey; text = SharedCacheClientWrapper.MakeCacheKey(SharedCacheClientWrapper.AnchorSource.DatabaseGuid, databaseGuidRoutingKey.DatabaseGuid); break; } case RoutingItemType.MailboxGuid: { MailboxGuidRoutingKey mailboxGuidRoutingKey = key as MailboxGuidRoutingKey; text = SharedCacheClientWrapper.MakeCacheKey(SharedCacheClientWrapper.AnchorSource.MailboxGuid, mailboxGuidRoutingKey.MailboxGuid); break; } case RoutingItemType.Smtp: { SmtpRoutingKey smtpRoutingKey = key as SmtpRoutingKey; text = SharedCacheClientWrapper.MakeCacheKey(SharedCacheClientWrapper.AnchorSource.Smtp, smtpRoutingKey.SmtpAddress); break; } case RoutingItemType.ExternalDirectoryObjectId: { ExternalDirectoryObjectIdRoutingKey externalDirectoryObjectIdRoutingKey = key as ExternalDirectoryObjectIdRoutingKey; text = SharedCacheClientWrapper.MakeCacheKey(SharedCacheClientWrapper.AnchorSource.ExternalDirectoryObjectId, externalDirectoryObjectIdRoutingKey.UserGuid); break; } case RoutingItemType.LiveIdMemberName: { LiveIdMemberNameRoutingKey liveIdMemberNameRoutingKey = key as LiveIdMemberNameRoutingKey; text = SharedCacheClientWrapper.MakeCacheKey(SharedCacheClientWrapper.AnchorSource.LiveIdMemberName, liveIdMemberNameRoutingKey.LiveIdMemberName); break; } } return(text); }
private static IRoutingKey DeserializeRoutingKey(string type, string value) { switch (type) { case "ArchiveSmtp": { ArchiveSmtpRoutingKey result; if (ArchiveSmtpRoutingKey.TryParse(value, out result)) { return(result); } break; } case "DatabaseGuid": { DatabaseGuidRoutingKey result2; if (DatabaseGuidRoutingKey.TryParse(value, out result2)) { return(result2); } break; } case "MailboxGuid": { MailboxGuidRoutingKey result3; if (MailboxGuidRoutingKey.TryParse(value, out result3)) { return(result3); } break; } case "Smtp": { SmtpRoutingKey result4; if (SmtpRoutingKey.TryParse(value, out result4)) { return(result4); } break; } case "Server": { ServerRoutingKey result5; if (ServerRoutingKey.TryParse(value, out result5)) { return(result5); } break; } case "Oid": { ExternalDirectoryObjectIdRoutingKey result6; if (ExternalDirectoryObjectIdRoutingKey.TryParse(value, out result6)) { return(result6); } break; } case "LiveIdMemberName": { LiveIdMemberNameRoutingKey result7; if (LiveIdMemberNameRoutingKey.TryParse(value, out result7)) { return(result7); } break; } } return(new UnknownRoutingKey(type, value)); }