在生产中正常重新启动 Service Fabric 应用程序以反映对数据包的更新

问题描述

我有一个专为 Azure Service Fabric 设计的有效 C#/.NET 应用程序。应用程序使用数据包和配置包文件,这些文件在初始化期间在无状态 Service Fabric 应用程序的构造函数中读取。这些文件一起提供的信息使应用能够在应用的 RunAsync 方法中创建多个无限长时间运行的任务。

现在说,在应用程序已经投入生产很长时间(例如数小时/天或更长时间)之后,数据包文件有更新。我希望应用程序从头开始读取数据包和配置包,并从无状态应用程序的构造函数中执行的初始化步骤重新启动。

找了一圈找到了“RestartDeployedCodePackageAsync”方法,需要调用如下:

await client.FaultManager.RestartDeployedCodePackageAsync(applicationName,selector,CompletionMode.Verify);

页面对此进行了详细说明:https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-testability-workload-tests

我应该使用这种方法来实现我想要做的事情吗?这是最好的方法吗?

解决方法

为此,您应该仅通过配置更改来执行服务升级部署。 使用与常规包相同的结构,但没有代码,只有新的数据和配置文件。

更多信息herehere

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...