No Service Fabric, posso alterar os argumentos no arquivo ServiceManifest.xml usando os Parâmetros do aplicativo?
Eu tenho um arquivo ApplicationManifest.xml que se parece com:
<?xml version="1.0" encoding="utf-8"?>
<ApplicationManifest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/2011/01/fabric"
ApplicationTypeName="ServiceFabricTestType" ApplicationTypeVersion="1.9">
<Parameters>
<Parameter Name="Prop_BehavioursPath" DefaultValue="behaviours.yml"/>
<Parameter Name="Prop_AliasesPath" DefaultValue="aliases.yml"/>
</Parameters>
<ServiceManifestImport>
<ServiceManifestRef
ServiceManifestName="SummaryGenerator"
ServiceManifestVersion="1.9.0.0"
/>
</ServiceManifestImport>
</ApplicationManifest>
E eu quero usar os parâmetros para ajustar o argumento do meu serviço hospedado de convidado, declarado em um arquivo ServiceManifest.xml da seguinte maneira:
<?xml version="1.0" encoding="utf-8"?>
<ServiceManifest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/2011/01/fabric"
Name="SummaryGenerator" Version="1.9.0.0">
<ServiceTypes>
<StatelessServiceType ServiceTypeName="SummaryGenerator" UseImplicitHost="true"/>
</ServiceTypes>
<CodePackage Name="code" Version="1.9.0.0">
<EntryPoint>
<ExeHost>
<Program>MyProgram.exe</Program>
<Arguments>"LoadFrom=[Prop_AliasesPath]|[Prop_BehavioursPath]"</Arguments>
<ConsoleRedirection FileRetentionCount="5" FileMaxSizeInKb="2048"/>
</ExeHost>
</EntryPoint>
</CodePackage>
</ServiceManifest>
Isso claramente não funciona, pois as propriedades incluídas nos Argumentos são tratadas literalmente e não são resolvidas a partir dos valores dos parâmetros.
O que eu realmente quero fazer é poder iniciar um serviço e passar valores diferentes para Prop_BehavioursPath e Prop_AliasesPath. Existe uma maneira melhor de fazer isso no Service Fabric?
O aplicativo que está sendo executado não conhece o Service Fabric e a única maneira de enviar a configuração a ele é através dos argumentos de comando.