Как получить конфигурацию .NET Cores, используя IIS GetWebConfiguration? - PullRequest
2 голосов
/ 21 мая 2019

Я создаю проект веб-API .NET Core 2.1 (с интерфейсом Angular 7), в котором я использую API-интерфейс Microsoft.Web.Administration для извлечения информации с удаленных веб-серверов IIS (в основном, перечисляя веб-сайты, приложения, пулы приложений и т. д.):

https://docs.microsoft.com/en-us/dotnet/api/microsoft.web.administration?view=iis-dotnet

В качестве краткого примечания, вот как я создаю экземпляр объекта сервера удаленного IIS, объекта ServerManager:

Для создания объекта ServerManager (так сказать, объекта IIS «контейнер») я использую один из скрытых конструкторов, где я передаю ему путь к файлу applicationHost.config удаленного сервера IIS (расположенный в * 1011). * - местоположение по умолчанию). Я делаю это, потому что у меня возникают проблемы, связанные с COM, когда я использую метод ServerManager.OpenRemote(string server_ip).

В любом случае, всякий раз, когда я пытаюсь использовать методы GetWebConfiguration ServerManager, Site и Application для получения файлов Web.config для каждого объекта IIS, каждый из методов GetWebConfig вышеупомянутого объекта завершается неудачей. Приложение не падает, когда я запускаю свой код, но при проверке объекта в отладчике появляется следующая ошибка:

my_siteWebConfig.RootSectionGroup = 'my_siteWebConfig.RootSectionGroup' threw an exception of type 'System.IO.DirectoryNotFoundException'

Похоже, что код GetWebConfiguration ищет файл web.config сайта / приложения в несуществующей директории. Отладчик показывает, что ConfigurationPathToEdit равно "MACHINE/WEBROOT/APPHOST/my_site". Он ищет в каталоге, где находится файл applicationHost.Config (местоположение файла глобальных настроек IIS). Однако файлы web.config моих веб-сайтов и приложений хранятся в D:\ drive в D:\MyCompany. Есть ли способ для методов GetWebConfiguration посмотреть каталог, отличный от каталога applicationHost.Config по умолчанию для файлов конфигурации?

Извините, если это немного сбивает с толку. Спасибо за любую помощь, и дайте мне знать, если что-то не понятно. Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...