0

有没有一种方法可以通过编程从ServiceManifest.xml中检索其他服务中的DefaultService Name属性?示例:Web API服务中的actor的服务名称。我试图避免硬编码任何东西。如何以编程方式检索SF角色服务名称?

+0

如果您担心硬编码问题,您可以随时将其设置为Config包内的值。如果需要更改,则可以使用新值更新Config软件包。 – Dismissile

回答

0

我不知道如何避免的应用程序类型的名称和其他的东西硬编码,但你可以尝试这样的事情在你的控制器

[HttpGet("{id:int}")] 
public async Task<srting> Get(int id) 
{ 
    var fabricClient = new FabricClient(); 
    string applicationTypeName = "ApplicationTypeName"; 
    string applicationVersion = "1.0.0"; 
    string actorServiceManifestName = "Actor1Pkg"; 
    var appManifest = await fabricClient.ServiceManager.GetServiceManifestAsync(applicationTypeName, applicationVersion, actorServiceManifestName); 

    var document = XDocument.Parse(appManifest); 
    ... 
    // TODO: Get DefaultService Name attribute from simple XML 
} 

,你会得到一个XML,然后找到所需的属性

相关问题