Search code examples
.netiisasp.net-web-api2

How to force update IIS changes in an API?


I have a WebApp that has some WebApi 2 in it, the WebApp is published on a server running with IIS.

When i add something new to the WebApp the update works fine and all the content is provided correctly, but now i've just made an update to an existing API and that API just doesn't return any content as the API still require the old parameters..

I've yet tryed to delete the cache files in /Microsoft.NET/Framework & Framework64 Temporary files folder for the following website but it hasn't had any effect..

So how can i force IIS to update my WebApp?

The API method i've changed is the following:

<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

While in the older version is looked as the following

<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

All is changed is the model is of RepCassa become Reparti


Solution

  • update project in IIS won't update app pool setting so it won't trigger application pool recycling.

    Please try to recycle application pool manually or recycle app pool when you update project web deploy.

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