public IDisposable Start(AspNetStarterProxy proxy, StartOptions options)
        {
            _proxy = proxy;
            try
            {
                HostingEnvironment.RegisterObject(this);
            }
            catch
            {
                // Notification not always supported
            }

            var context = new StartContext(options);

            IServiceProvider services = ServicesFactory.Create(context.Options.Settings);

            var builderFactory = services.GetService<IAppBuilderFactory>();
            context.Builder = new AppBuilderWrapper(builderFactory.Create());

            IHostingEngine engine = services.GetService<IHostingEngine>();

            return engine.Start(context);
        }
        public IDisposable Start(AspNetStarterProxy proxy, StartOptions options)
        {
            _proxy = proxy;
            try
            {
                HostingEnvironment.RegisterObject(this);
            }
            catch
            {
                // Notification not always supported
            }

            var context = new StartContext(options);

            IServiceProvider services = ServicesFactory.Create(context.Options.Settings);

            var builderFactory = services.GetService <IAppBuilderFactory>();

            context.Builder = new AppBuilderWrapper(builderFactory.Create());

            IHostingEngine engine = services.GetService <IHostingEngine>();

            return(engine.Start(context));
        }