Сценарий:
У меня есть несколько служб, которые я хочу открыть для разных клиентов.Выполнение открытия работает отлично.Но теперь у меня есть разные версии этих сервисов по разным причинам.
У меня может быть 3 - 4 разных уровня в жизненном цикле моего приложения: производство, подготовка, тестирование и разработка.
Мне нужнодля поддержки клиентов, которые я развернул за последние 6 месяцев, поэтому мне может потребоваться запустить 2-3 версии служб одновременно.НЕ разные версии контракта, а несколько разные версии реализации.
Мне также может понадобиться разделить сервисы по категориям данных, которые они предоставляют.Допустим, у меня есть один экземпляр службы, которая предоставляет данные из США, и другой экземпляр, который предоставляет данные по Канаде, и, возможно, третий экземпляр, который предоставляет данные по Австралии.В некоторых случаях служба может иметь несколько категорий.
Таким образом, с точки зрения клиента, если я запрашиваю услугу, основанную исключительно на контракте, я могу получить 9-15 конечных точек, когда я действительно хочу поговорить содин сервис, который является производство, США, версия 1.1.Я знаю, что для службы существует область действия, но я не смог успешно создать серию областей, обеспечивающих ту гибкость, которая мне нужна в моей среде.
В предыдущем примере я искал очень специфическую услугу, но я мог бы также хотеть видеть все услуги определенного контракта только для Production, независимо от того, в какой они стране или версии.Мне также может понадобиться добавить дополнительные «области» в микс.В общей сложности у меня может быть 4–6 критериев, которые используются в качестве «области действия».
Вопросы:
Является ли область действия правильным способом построения такого рода комплекса?фильтрация или мне нужно сделать что-то кастомное?
Если сфера является правильным способом сделать это, можете ли вы указать мне пример, на который я могу взглянуть?
Если мне нужно перейти к пользовательской настройке, существует ли стандартный способ расширения «области»поведение, чтобы я мог заставить его делать то, что я хочу?
Исходный код:
http://nardax.codeplex.com/