Как программно получить имя службы актера 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, а затем найдите нужный атрибут