在运行时获取服务版本

肖恩·费尔德曼(Sean Feldman)

如何在运行时获取执行中的Service Fabric服务(和应用程序)版本?我已经尝试了下,但两者StatefulServiceContextStatelessServiceContext没有提供这些信息。

埃利·阿尔贝尔(Eli Arbel)

您可以FabricClient用来获取此信息。

对于应用程序版本:

var applicationName = new Uri("fabric:/MyApp"); // or use Context.CodePackageActivationContext.ApplicationName
using (var client = new FabricClient())
{
    var applications = await client.QueryManager.GetApplicationListAsync(applicationName).ConfigureAwait(false);
    var version = applications[0].ApplicationTypeVersion;
}

对于服务版本-

从服务类中:

Context.CodePackageActivationContext.GetServiceManifestVersion()

或者:

var serviceName = new Uri("fabric:/MyApp/MyService"); // or use Context.ServiceName
using (var client = new FabricClient())
{
    var services = await client.QueryManager.GetServiceListAsync(applicationName, serviceName).ConfigureAwait(false);
    var version = services[0].ServiceManifestVersion;
}

笔记:

  • 升级期间,您将使用此API获得旧版本。如果您需要新版本,请使用FabricClient.ApplicationManager.GetApplicationUpgradeProgressAsync并检索TargetApplicationTypeVersion
  • FabricClient如果您经常使用它,可能要缓存(请参阅此处的备注
  • CodePackageActivationContext还包含CodePackageVersion,这是比服务清单版本不同

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在运行时获取服务版本

来自分类Dev

在运行时获取jar版本

来自分类Dev

在运行时获取Grails插件版本

来自分类Dev

在运行时获取RelativeLayout的尺寸

来自分类Dev

Android:在运行时获取TargetSDKVersion

来自分类Dev

在运行时获取NoSuchMethodError

来自分类Dev

在运行时获取输入类型

来自分类Dev

在运行时获取数据

来自分类Dev

如何在运行时获取Haxe编译器版本

来自分类Dev

无法在运行时NSIS中复制目录,并且无法获取JRE位版本?

来自分类Dev

在运行时从没有 Java 类的包中获取 Maven 工件版本

来自分类Dev

获取libpq运行时版本(从libpqxx)

来自分类Dev

Java库的版本信息,可在运行时访问

来自分类Dev

Java库的版本信息,可在运行时访问

来自分类Dev

如何在运行时更改Web服务地址?

来自分类Dev

在运行时更改服务配置参数

来自分类Dev

在运行时设置配置而不重启服务?

来自分类Dev

TypeScript:在运行时获取类名?

来自分类Dev

在运行时获取Scala 2.10注释值

来自分类Dev

在运行时获取application.properties属性?

来自分类Dev

在运行时在AngularJS中获取HTML元素的宽度

来自分类Dev

在运行时获取配置文件的EXPIRATION日期?

来自分类Dev

在运行时动态获取Mule流的属性值

来自分类Dev

在运行时获取元组中索引的类型

来自分类Dev

在运行时获取主故事板

来自分类Dev

在运行时获取线程数(HEC)

来自分类Dev

在运行时从元组中获取模板功能元素?

来自分类Dev

是否可以在运行时获取Java类的serialVersionUID

来自分类Dev

在运行时获取带有注释的guice对象?