Как принудительно обновить изменения IIS в API? - PullRequest
1 голос
/ 27 апреля 2020

У меня есть WebApp, в котором есть несколько WebApi 2, WebApp публикуется на сервере, работающем с IIS.

Когда я добавляю что-то новое в WebApp, обновление работает нормально, и все содержимое предоставляется правильно, но сейчас я только что обновил существующий API, и этот API просто не возвращает никакого контента, поскольку API все еще требует старых параметров ..

Я еще пытался удалить кеш файлы в /Microsoft.NET/Framework & Framework64 Папка временных файлов для следующего веб-сайта, но она не оказала никакого влияния ..

Так как я могу заставить IIS обновить мое WebApp?

Метод API, который я изменил, выглядит следующим образом:

<HttpPost()>
<Route("rc")>
Public Function RepartiCassa(<FromBody()> ByVal where As ModelConfig.Config) As IEnumerable(Of Reparti)
    Dim re = Request
    Dim headers = re.Headers
    Dim piva As String = ""

    If headers.Contains("authToken") Then
        Dim token As String = headers.GetValues("authToken").First()
        Dim data = TokenManager.Principals(TokenManager.GetPrincipal(token))
        If data Is Nothing Then Return New HttpResponseMessage(HttpStatusCode.Unauthorized)

        piva = data.piva
    End If

    Dim modelConfig As ModelConfig = New ModelConfig

    Dim rep As Reparti = New Reparti
    Return rep.TotaliRepCassa(where.data.inizio, where.data.fine, modelConfig.QueryParametri(where.config, "TRC", False), piva)
End Function

Хотя в более старой версии выглядит следующим образом

<HttpPost()>
<Route("rc")>
Public Function RepartiCassa(<FromBody()> ByVal where As ModelConfig.Config) As IEnumerable(Of RepCassa)
    Dim re = Request
    Dim headers = re.Headers
    Dim piva As String = ""

    If headers.Contains("authToken") Then
        Dim token As String = headers.GetValues("authToken").First()
        Dim data = TokenManager.Principals(TokenManager.GetPrincipal(token))
        If data Is Nothing Then Return New HttpResponseMessage(HttpStatusCode.Unauthorized)

        piva = data.piva
    End If

    Dim modelConfig As ModelConfig = New ModelConfig

    Dim repCassa As RepCassa = New RepCassa
    Return repCassa.TotaliRepCassa(where.data.inizio, where.data.fine, modelConfig.QueryParametri(where.config, "TRC", False), piva)
End Function

Все изменилось, если модель RepCassa стала Reparti

Ответы [ 2 ]

1 голос
/ 29 апреля 2020

Проект обновления в IIS не будет обновлять настройки пула приложений, поэтому он не будет запускать повторное использование пула приложений.

Пожалуйста, попробуйте перезапустить пул приложений вручную или перезапустить пул приложений при обновлении веб-развертывания проекта.

https://blogs.iis.net/msdeploy/operations-on-application-pools-as-admin-and-non-admin

0 голосов
/ 27 апреля 2020

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

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