如何在运行时访问c#代码中applicationmanifest中指定的ApplicationTypeName
我尝试了var applicationTypeName = FabricRuntime.GetActivationContext().ApplicationTypeName; var applicationName = FabricRuntime.GetActivationContext().ApplicationName; if (tracer != null) { tracer.Log($"applicationTypeName:{applicationTypeName}"); tracer.Log($"applicationName:{applicationName}"); }
,但这是给我服务名称类型而不是应用程序名称类型。<ApplicationManifest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ApplicationTypeName="xyz" ApplicationTypeVersion="1.0.0" xmlns="http://schemas.microsoft.com/2011/01/fabric">
个
在这个例子中,我希望xyz被获取。
1条答案
按热度按时间svgewumm1#
ApplicationTypeName
。我们可以在运行时动态地检索和检查应用程序清单。
字符串
context.CodePackageActivationContext
直接访问StatelessService
中的激活上下文。在这里检查这个SO link,他使用
FabricClient
查询应用程序清单,然后将其转换为基于XSD模式的对象。通过这种方式,他能够访问该对象的属性,例如ApplicationTypeName
。ServiceManifest.xml:
型