Может ли агент веб-развертывания работать на порте, отличном от 80 на IIS6?

Необходимо установить DirectorySearcher. PageSize к ненулевому значению для получения всех результатов.

BTW необходимо также расположить DirectorySearcher, когда Вы закончены с ним

using(var srch = new DirectorySearcher(dirEnt, "(objectClass=Group)", loadProps))
{
    srch.PageSize = 1000;
    var results = srch.FindAll();
}

, документация API не является очень четкой, но по существу:

  • , когда Вы делаете разбитый на страницы поиск, SizeLimit проигнорирован, и все результаты соответствия возвращаются, поскольку Вы выполняете итерации через результаты, возвращенные FindAll. Результаты будут получены с сервера страница за один раз. Я выбрал значение 1 000 выше, но можно использовать меньшее значение, если предпочтено. Компромисс: использование небольшого PageSize возвратит каждую страницу результатов быстрее, но потребует более частых вызовов к серверу при итерации по большому количеству результатов.

  • по умолчанию поиск не разбит на страницы (PageSize = 0). В этом случае до SizeLimit результаты возвращается.

Как Biri, на который указывают, важно расположить SearchResultCollection, возвращенный FindAll, иначе у Вас может быть утечка памяти , как описано в разделе Remarks документации MSDN для DirectorySearcher. FindAll.

Один способ помочь избежать это в.NET 2.0 или позже должно записать метод обертки, который автоматически располагает SearchResultCollection. Это могло бы посмотреть что-то как следующее (или мог быть дополнительный метод в.NET 3.5):

public IEnumerable SafeFindAll(DirectorySearcher searcher)
{
    using(SearchResultCollection results = searcher.FindAll())
    {
        foreach (SearchResult result in results)
        {
            yield return result;        
        } 
    } // SearchResultCollection will be disposed here
}

Вы могли тогда использовать это следующим образом:

using(var srch = new DirectorySearcher(dirEnt, "(objectClass=Group)", loadProps))
{
    srch.PageSize = 1000;
    var results = SafeFindAll(srch);
}

28
задан skaffman 3 May 2011 в 09:39
поделиться

2 ответа

Это изменения, которые я должен был сделать для Windows 7 по рецепту Кева:

Шаг 3: netsh http show urlacl

Шаг 4: netsh http delete urlacl url=http://+:80/MSDEPLOYAGENTSERVICE/

netsh http add urlacl url=http://+:8172/MSDEPLOYAGENTSERVICE/ sddl=D:(A;;GX;;;NS)

26
ответ дан 28 November 2019 в 02:22
поделиться

Также стоит знать магию выяснения того, какое свойство хранится в каком ключе реестра - введите Orca.exe - бесценный и простой в использовании инструмент для чтения / изменения базы данных MSI (старайтесь не изменять хотя).

Во-первых, нам нужно найти свойство в таблице свойств enter image description here

Как только свойство будет найдено, перейдите к таблице реестра и найдите, куда оно вставлено. , enter image description here

0
ответ дан 28 November 2019 в 02:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: