我有一个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
3条答案
按热度按时间nukf8bse1#
IIS中的更新项目不会更新应用程序池设置,因此不会触发应用程序池回收。
请尝试手动回收应用程序池或在更新Project Web部署时回收应用程序池。
https://blogs.iis.net/msdeploy/operations-on-application-pools-as-admin-and-non-admin
8wtpewkr2#
如果在添加功能时看到更改,则很可能是代码而不是IIS出现了问题。我猜你的路由配置需要更新。
ffscu2ro3#
对于那些尝试过建议的解决方案但仍然无法让API正确响应的人来说,考虑一下浏览器可能正在缓存API端点的响应。尝试从其他浏览器访问您的API端点。这就是我的问题所在。
Stop Chrome From Caching
Disable Web API Caching