fortnite - c# argumentos linea comandos
¿Cómo puedo usar Argumentos de la línea de comando que TopShelf no reconoce? (1)
EDITAR: esto solo funciona cuando se ejecuta el .exe, no cuando se ejecuta como un servicio. Como alternativa, puede agregar la opción como valor de configuración y leerla al inicio (lo que probablemente sea una mejor práctica de todos modos):
using System.Configuration;
// snip
string foobar = null;
HostFactory.Run(configurator =>
{
foobar = ConfigurationManager.AppSettings["foobar"];
// do something with fooBar
configurator.Service<ServiceClass>(settings =>
{
settings.ConstructUsing(s => GetInstance<ServiceClass>());
settings.WhenStarted(s => s.Start());
settings.WhenStopped(s => s.Stop());
});
configurator.RunAsLocalService();
configurator.SetServiceName("ServiceName");
configurator.SetDisplayName("DisplayName");
configurator.SetDescription("Description");
configurator.StartAutomatically();
});
De acuerdo con la documentación, debe especificar los comandos en este patrón:
-foobar:Test
También necesita agregar la definición en la configuración de su servicio:
string fooBar = null;
HostFactory.Run(configurator =>
{
configurator.AddCommandLineDefinition("fooBar", f=> { fooBar = f; });
configurator.ApplyCommandLine();
// do something with fooBar
configurator.Service<ServiceClass>(settings =>
{
settings.ConstructUsing(s => GetInstance<ServiceClass>());
settings.WhenStarted(s => s.Start());
settings.WhenStopped(s => s.Stop());
});
configurator.RunAsLocalService();
configurator.SetServiceName("ServiceName");
configurator.SetDisplayName("DisplayName");
configurator.SetDescription("Description");
configurator.StartAutomatically();
});
Quiero pasar algunos argumentos personalizados a la aplicación de la consola cuando instalo e inicio como un Servicio de Windows a través de TopShelf.
Cuando uso:
MyService install start /fooBar: Test
La aplicación de la consola falla:
[Error] Línea de comando Se encontró una opción de línea de comando desconocida: DEFINE: fooBar = Test
Pregunta:
¿Cómo puedo hacer que TopShelf pueda reconocer mis argumentos para poder consumir sus valores?