Сброс IIS на сайте ASP.NET при возникновении ошибки - PullRequest
0 голосов
/ 11 апреля 2011

У меня есть веб-сайт ASP.NET, который в некоторых очень редких случаях имеет ошибку, которая приводит к сбою многих запросов.ошибка перехватывается и регистрируется в переопределении OnError моего базового класса для всех страниц, поэтому я знаю, когда произошла ошибка.

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

мой вопрос: в приведенном ниже коде OnError, как я могу вызватьIIS для сброса?я могу запустить iisreset или может вызвать сбой iis, используя что-то вроде System.Environment.Exit (-1).какой есть предпочтительный способ сброса iis?

    Protected Overrides Sub OnError(ByVal e As EventArgs)
        LogException(Server.GetLastError())
        MyBase.OnError(e)
    End Sub

1 Ответ

0 голосов
/ 11 апреля 2011

Во-первых, как указано другими, вам нужно перезапустить приложение ASP.NET, а не IIS (веб-сервер). Два способа достичь этого могут быть

  1. Чтобы коснуться (изменить) web.config (аналогичная альтернатива - коснуться / изменить папку bin)
  2. Чтобы выгрузить AppDomain (используя HttpRuntime.UnloadAppDomain )

Отметьте эту статью , в которой обсуждается этот подход.

Я бы также предложил вам рассмотреть возможность повторного использования пула приложений периода (возможно из конфигурации IIS).

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