.net - 如何强制更新 API 中的 IIS 更改?
问题描述
我有一个 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
解决方案
IIS 中的更新项目不会更新应用程序池设置,因此不会触发应用程序池回收。
请在更新项目 Web 部署时尝试手动回收应用程序池或回收应用程序池。
https://blogs.iis.net/msdeploy/operations-on-application-pools-as-admin-and-non-admin
推荐阅读
- xamarin - 当用户使用 Xamarin Forms 在 iOS 上向后滑动时禁用导航栏
- javascript - React - 仅在一个选项卡中显示按钮
- python - 在全息视图中访问散景(图)参数
- c++ - 从源代码构建时,boost iostreams 中的编译错误
- linux - 使用 airmon-ng 收听特定频道
- android - cursor.moveToNext() 抛出 CursorWindowAllocationException
- reactjs - React.useState 不会从 props 重新加载状态
- docker - 如何从私有存储库重新启动 Cloud Foundry Docker 应用程序?
- wpf - 使用 mage.exe 自动执行扩展验证 (EV) 代码签名
- jquery - MCE5-如何在 Tiny mce-5 中将任何图像作为自定义按钮图标?