Возвращает ли метабаза IIS сайты в порядке возрастания идентификатора?

Я не уверен, что мой вопрос на первый взгляд имеет смысл, поэтому позвольте мне остановиться и уточнить. На данный момент я пытаюсь проверить, существует ли уже веб-сайт в IIS, создав новую директиву:

DirectoryEntry IISWebsites = new DirectoryEntry(MetaBasePath); 

MetaBasePath определен ранее как:

private const string MetaBasePath = "IIS://Localhost/W3SVC";

Я проверяю IISWebsites детей в цикле foreach и просто задаюсь вопросом, будет ли это проходить через детей в порядке Id? Из того, что я прочитал, это на самом деле хранится в свойстве NameEntry 'Name'.

The reason I ask is that if the website name entered by the user in my web setup project isn't found then I want to return the highest id so I can add 1 to it and create a new website with the name supplied by the user.

Having tested this with my IIS it does seem to return it in this order but I need to be sure.

РЕДАКТИРОВАТЬ

I've found the following on Microsoft support ( http://support.microsoft.com/kb/240941):

Note that when the metabase is searched for configuration information, it is enumerated from the bottom, or subkey, to top, or node.

This seems to imply that it does do what I think, but it's not 100% clear if it works on site Id as I'm not sure how this relates to the subkey.

1 ответ

Решение

В документации нет конкретного определения порядка по идентификатору сайта, поэтому было бы небезопасно предполагать, что он всегда будет отсортирован таким образом (особенно если ваше текущее приложение в конечном итоге будет использоваться с новыми версиями.NET/Windows/IIS в будущем).,

Скорее всего, число веб-сайтов не будет достаточно большим, чтобы перечисление их для определения максимума не было бы узким местом.

Тем не менее, вы можете запустить поиск сайтов и указать порядок, используя DirectorySearcher.Sort,

Обратите внимание, что в отношении вашего редактирования и того, как перечисляются сведения о конфигурации, это не относится к порядку сортировки. Одно предложение вырвано из контекста не так ясно. Прочитайте его в контексте всего параграфа, и станет ясно, что поведение перечисления связано с наследованием свойства метабазы.

Другие вопросы по тегам