Как программно получить имя службы актера SF?

Есть ли способ программно получить атрибут DefaultService Name из ServiceManifest.xml внутри других служб? Пример: имя службы актера внутри службы Web API. Я пытаюсь избежать жесткого кодирования чего-либо.

1 ответ

Я не знаю, как избежать жесткого кодирования имени типа приложения и других вещей, но вы можете попробовать что-то подобное в вашем контроллере

[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, а затем найдите нужный атрибут

Другие вопросы по тегам