Ejemplo n.º 1
0
        private Task <VostokApplicationRunResult> CreateAndRunAsync(
            [NotNull] SimpleApplicationSettings settings,
            [CanBeNull] Action <IVostokHostingEnvironmentBuilder> additionalEnvSetup = null,
            [CanBeNull] Action <VostokHostSettings> additionalHostSetup = null)
        {
            observer = new TestObserver <VostokApplicationState>();

            settings.CrashError = crashError;
            application         = new SimpleApplication(settings);

            void EnvironmentSetup(IVostokHostingEnvironmentBuilder builder)
            {
                builder.SetupApplicationIdentity(
                    (applicationIdentitySetup, setupContext) => applicationIdentitySetup.SetProject("Infrastructure")
                    .SetSubproject("vostok")
                    .SetEnvironment("dev")
                    .SetApplication("simple-application")
                    .SetInstance("1"))
                .SetupLog(logSetup => logSetup.SetupConsoleLog(consoleLogSetup => consoleLogSetup.UseSynchronous()));

                additionalEnvSetup?.Invoke(builder);
            }

            var hostSettings = new TestHostSettings(application, EnvironmentSetup)
            {
                ShutdownTimeout = shutdownTimeout
            };

            additionalHostSetup?.Invoke(hostSettings);

            host = new VostokHost(hostSettings);

            host.OnApplicationStateChanged.Subscribe(observer);

            return(host.RunAsync());
        }
Ejemplo n.º 2
0
 public SimpleApplication(SimpleApplicationSettings settings)
 {
     this.settings = settings;
 }