Определение, если ASP.NET правильно регистрируется

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

28
задан Robert 3 July 2015 в 11:13
поделиться

2 ответа

Этот фрагмент работает для IIS7 +

using Microsoft.Web.Administration;   

private static string[] ARR_STR_SUPPORTED_APP_POOLS = 
                         { "ASP.NET v4.0", "ASP.NET v4.5", ".NET v4.5", ".NET v4.0" };

public static ApplicationPool GetFirstSupportedAppPoolInstalled(this ServerManager mgr, IEnumerable<string> supportedAppPools)
{
    ApplicationPool result = null;
    foreach (string appPoolName in supportedAppPools)
    {
        result = mgr.ApplicationPools[appPoolName];
        if (result != null)
            break;
    }
    return result;
}

...
using (var mgr = new ServerManager())
{
   if (!mgr.IISAccessCheck())
      throw new ApplicationException("Error trying to access IIS 7!");

   ApplicationPool appPool = mgr.GetFirstSupportedAppPoolInstalled(ARR_STR_SUPPORTED_APP_POOLS);
   if (appPool == null)
       throw new ApplicationException("No appropriate .NET application pool found!");

   // you can do something with the app pool, if needed
}
...

Вы можете настроить его, как хотите.

0
ответ дан Learner 28 November 2019 в 03:56
поделиться

Сначала я попробую запустить aspnet_regiis -lv . Это должно дать вам такой вывод:

1.1.4322.0      Valid           C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll
2.0.50727.0     Valid           c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll

, который вы можете легко проанализировать, чтобы убедиться, что ваша целевая версия установлена ​​и действительна. Если это не так, вам придется пойти по маршруту aspnet_regiis -i .

Кроме того, учитывая, что вы можете выполнить эту проверку на C #, вы можете добавить тестовую страницу в свое приложение ASP.NET. . После того, что вы обычно считаете успешной установкой, выполните HttpWebRequest на этой тестовой странице. Сама страница может быть такой же простой, как пустая страница, и такой же сложной, как запуск самопроверки установки (разрешения файлов / папок, конфигурация БД и т. Д.), И будет возвращать HTTP 200, только если все в порядке. Любой тайм-аут или ошибка указывают на неправильную установку. Затем, при желании, удалите тестовую страницу.

10
ответ дан 28 November 2019 в 03:56
поделиться
Другие вопросы по тегам:

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