如何强制更新 API 中的 IIS 更改?

How to force update IIS changes in an API?

我有一个 WebApp,里面有一些 WebApi 2,WebApp 在服务器 运行 IIS 上发布。

当我向 WebApp 添加新内容时,更新工作正常并且所有内容都正确提供,但现在我刚刚对现有 API 进行了更新并且 API 只是return 没有任何内容,因为 API 仍然需要旧参数..

我已经尝试删除以下网站的 /Microsoft.NET/FrameworkFramework64 临时文件夹中的缓存文件,但没有任何效果..

那么我如何强制 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

如果您在添加功能时看到更改,那么这很可能是您的代码而非 IIS 的问题。我的猜测是您的路由配置需要更新。

IIS 中的更新项目不会更新应用程序池设置,因此不会触发应用程序池回收。

请尝试手动回收应用程序池或在更新项目 web 部署时回收应用程序池。

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