Альтернатива локальной установке IIS для удаленного доступа к IIS? - PullRequest
0 голосов
/ 16 ноября 2009

У меня есть приложение, которое получает доступ к информации о веб-сайтах, работающих на IIS на удаленном компьютере, с использованием объектов DirectoryEntry (в System.DirectoryServices).

На любом клиентском компьютере, на котором запущено приложение, должен быть установлен IIS, или приложение выдает исключение System.Runtime.InteropServices.COME при обращении к информации IIS.

Есть ли способ, которым я могу просто включить DLL, добавить ссылку или что-то подобное, чтобы иметь возможность доступа к этой информации без клиентской машины, устанавливающей IIS? Или есть лучший способ получить доступ к этой информации (возможно, без System.DirectoryServices), который также обошел бы это требование?

РЕДАКТИРОВАТЬ: Снова глядя на эту проблему и увидев вопросы здесь и здесь , я считаю, что невозможно использовать DirectoryServices для получения этой информации. Я оставлю это открытым для альтернативных предложений, может быть, больше информации о скриптах WBEM?

Ответы [ 2 ]

1 голос
/ 16 ноября 2009

Итак, я понимаю, что вы пытаетесь получить информацию о веб-сайте с удаленных серверов IIS, но клиент, который пытается получить эту информацию, должен иметь установленную IIS, чтобы иметь возможность запрашивать эти удаленные системы. И не потому, что он использует какое-то веб-приложение для получения информации; он использует некоторые функции, которые устанавливаются при установке IIS.

Какая информация вам нужна? Разве вы не можете использовать сценарии WBEM, предназначенные для компьютера IIS, для получения информации, которую вы ищете?

0 голосов
/ 12 января 2010

После дальнейших исследований:

Крис говорил о сценариях WMI и пространстве имен System.Management, которые прекрасно работают, если вы подключаетесь к IIS 6 или выше.

DirectoryServices требует установленного IIS, поскольку он добавляет дополнительные биты в ADSI, которые позволяют ему запрашивать IIS. Кроме того, вам нужно установить диспетчер совместимости IIS 6, если вы используете IIS 5 (Windows XP) или IIS 7 (Windows 7) для получения нужных компонентов ADSI.

Существует последняя альтернатива для IIS 7, которая представляет собой пространство имен Microsoft.Web.Administration.

К сожалению, в моем сценарии мне нужно использовать как IIS 5, так и IIS 6, что означает, что DirectoryServices - единственный способ получить то, что мне нужно. К счастью, я считаю, что должен быть установлен только менеджер совместимости, а не весь сервер IIS (надеюсь, это опция в Windows XP ...)

Принял Криса в качестве ответа на предложение по WBEM, хотя я не могу использовать его в этом случае!

...