public static QueueAddress TranslateLogicalAddress(Transport.QueueAddress queueAddress) { var nonEmptyParts = new[] { queueAddress.BaseAddress, queueAddress.Qualifier, queueAddress.Discriminator }.Where(p => !string.IsNullOrEmpty(p)); var tableName = string.Join(".", nonEmptyParts); string schemaName = null; string catalogName = null; if (queueAddress.Properties != null) { queueAddress?.Properties.TryGetValue(SettingsKeys.SchemaPropertyKey, out schemaName); queueAddress?.Properties.TryGetValue(SettingsKeys.CatalogPropertyKey, out catalogName); } return(new QueueAddress(tableName, schemaName, catalogName)); }
public QueueAddress Generate(Transport.QueueAddress queueAddress) { return(logicalAddressCache.GetOrAdd(queueAddress, TranslateLogicalAddress)); }