在开发过程中,启动服务时出现异常导致应用程序陷入错误状态。这会阻止进一步的调试。我似乎也无法通过集群管理门户删除应用程序,它只是超时了。
我找到的唯一解决方法是重置集群,这需要几分钟时间,并且还会删除集群中的所有其他应用程序。
如何正确强制删除单个应用程序?
在开发过程中,启动服务时出现异常导致应用程序陷入错误状态。这会阻止进一步的调试。我似乎也无法通过集群管理门户删除应用程序,它只是超时了。
我找到的唯一解决方法是重置集群,这需要几分钟时间,并且还会删除集群中的所有其他应用程序。
如何正确强制删除单个应用程序?
param([string]$applicationName = "SomeAppName", [string]$version = "1.0.0")
$applicationUri = "fabric:/" + $applicationName
$applicationTypeName = $applicationName + "Type"
Connect-ServiceFabricCluster localhost:19000
Write-Host ""
Write-Host "Removing $applicationUri from local cluster"
Remove-ServiceFabricApplication -ApplicationName fabric:/$applicationName
Write-Host ""
Write-Host "Removing $applicationTypeName (v$version) from local cluster"
Unregister-ServiceFabricApplicationType -ApplicationTypeName $applicationTypeName -ApplicationTypeVersion $version
Write-Host ""
Write-Host "Complete"
可以这样调用:
.\Delete-SF-App.ps1 -applicationName "MyService" -version "1.0.0"
编辑:
如果上述方法不起作用,则可以使用以下PowerShell命令来删除单个副本:
$nodes = Get-ServiceFabricNode
foreach($node in $nodes)
{
$replicas = Get-ServiceFabricDeployedReplica -NodeName $node.NodeName -ApplicationName $applicationName
foreach ($replica in $replicas)
{
Remove-ServiceFabricReplica -ForceRemove -NodeName $node.NodeName -PartitionId $replica.Partitionid -ReplicaOrInstanceId $replica.ReplicaOrInstanceId
}
}
如果您不是使用Visual Studio进行开发和调试,请忽略此答案。
我知道这个问题已经有答案了,但是您尝试过在Visual Studio中更改应用程序调试模式设置为删除应用程序吗?