private static DefaultSunnyApplication BuilderSunnyApplication(this IApplicationBuilder app, Action <ISunnyApplicationBuilder> configureApp)
        {
            //Get the ISunnyApplicationBuilder
            var builderFactory      = app.ApplicationServices.GetRequiredService <ISunnyApplicationBuilderFactory>();
            var sunnyContextFactory = app.ApplicationServices.GetRequiredService <ISunnyContextFactory>();

            ISunnyApplicationBuilder applicationBuilder = builderFactory.CreateBuilder();

            configureApp?.Invoke(applicationBuilder);

            //Building SunnyApplication
            var sunnyApplication = applicationBuilder.Build();

            return(new DefaultSunnyApplication(sunnyApplication, sunnyContextFactory));
        }
예제 #2
0
        public void Start()
        {
            ISunnyApplicationBuilder applicationBuilder = serviceProvider.GetRequiredService <ISunnyApplicationBuilderFactory>().CreateBuilder();

            this.startup.Configure(applicationBuilder);
            IServer server = serviceProvider.GetRequiredService <IServerFactory>().CreateServer();

            //Building SunnyApplication
            var sunnyContextFactory = serviceProvider.GetRequiredService <ISunnyContextFactory>();
            var sunnyApplication    = applicationBuilder.Build();
            var hostingApp          = new DefaultSunnyApplication(sunnyApplication, sunnyContextFactory);

            //Start Server
            server.StartAsync(hostingApp);
        }