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

06odsfpq  于 2023-06-23  发布在  其他
关注(0)|答案(3)|浏览(152)

我有一个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

nukf8bse

nukf8bse1#

IIS中的更新项目不会更新应用程序池设置,因此不会触发应用程序池回收。
请尝试手动回收应用程序池或在更新Project Web部署时回收应用程序池。
https://blogs.iis.net/msdeploy/operations-on-application-pools-as-admin-and-non-admin

8wtpewkr

8wtpewkr2#

如果在添加功能时看到更改,则很可能是代码而不是IIS出现了问题。我猜你的路由配置需要更新。

ffscu2ro

ffscu2ro3#

对于那些尝试过建议的解决方案但仍然无法让API正确响应的人来说,考虑一下浏览器可能正在缓存API端点的响应。尝试从其他浏览器访问您的API端点。这就是我的问题所在。
Stop Chrome From Caching
Disable Web API Caching

相关问题