En Service Fabric, ¿puedo alterar los argumentos en el archivo ServiceManifest.xml usando los parámetros de la aplicación?
Tengo un archivo ApplicationManifest.xml que se parece a:
<?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>
Y quiero usar los parámetros para ajustar el argumento de mi servicio alojado invitado, declarado en un archivo ServiceManifest.xml de esta manera:
<?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>
Esto claramente no funciona, ya que las propiedades que entran en los argumentos se tratan literalmente y no se resuelven a partir de los valores de los parámetros.
Lo que realmente quiero hacer es poder iniciar un servicio y pasar diferentes valores para Prop_BehavioursPath y Prop_AliasesPath. ¿Hay una mejor manera de hacer esto en Service Fabric?
La aplicación que se está ejecutando no conoce Service Fabric y la única forma de impulsar la configuración es a través de los argumentos del comando.