示例#1
0
        public Startup(IHostingEnvironment env)
        {
            var builder = new ConfigurationBuilder()
                          .AddJsonFile("appsettings.json")
                          .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
                          .AddEnvironmentVariables();

            Configuration = builder.Build();
            _env          = env;
            var moduleLoaderFactory = new ModuleLoaderFactory();

            _moduleLoader = moduleLoaderFactory.BuidlerModuleLoader(new ModuleLoaderOptions
            {
                NugetSources = new List <string>
                {
                    @"d:\sidfeeds\core\",
                    @"d:\sidfeeds\tools\",
                    "https://api.nuget.org/v3/index.json",
                    "https://www.myget.org/F/advance-ict/api/v3/index.json"
                },
                ModuleFeedUri = new Uri("http://localhost:60008/configuration"),
                ProjectName   = "EventStore"
            });
            _moduleLoader.ModuleInstalled         += ModuleInstalled;
            _moduleLoader.UnitsRestored           += HandleUnitsRestored;
            _moduleLoader.ModulesLoaded           += ModulesLoaded;
            _moduleLoader.ModuleCannotBeInstalled += ModuleCannotBeInstalled;
            _moduleLoader.Initialize();
            _moduleLoader.RestoreUnits().Wait();
            _moduleLoader.LoadUnits();
        }
        public Startup(IHostingEnvironment env)
        {
            _env = env;
            var moduleLoaderFactory = new ModuleLoaderFactory();

            _moduleLoader = moduleLoaderFactory.BuidlerModuleLoader(new ModuleLoaderOptions
            {
                NugetSources = new List <string>
                {
                    @"d:\sidfeeds\core\",
                    @"d:\sidfeeds\tools\",
                    "https://api.nuget.org/v3/index.json",
                    "https://www.myget.org/F/advance-ict/api/v3/index.json"
                },
                ModuleFeedUri = new Uri("http://localhost:60008/configuration"),
                ProjectName   = "ScimProvider"
            });
            _moduleLoader.ModuleInstalled         += ModuleInstalled;
            _moduleLoader.UnitsRestored           += HandleUnitsRestored;
            _moduleLoader.ModulesLoaded           += ModulesLoaded;
            _moduleLoader.ModuleCannotBeInstalled += ModuleCannotBeInstalled;
            _moduleLoader.Initialize();
            _moduleLoader.RestoreUnits().Wait();
            _moduleLoader.LoadUnits();
        }
        public void WillInitializeAllModuleLoadersOnStart()
        {
            MockRepository            mocks       = new MockRepository();
            IModuleLoader             mockLoader1 = mocks.DynamicMock <IModuleLoader>();
            IModuleLoader             mockLoader2 = mocks.DynamicMock <IModuleLoader>();
            IModuleLoader             mockLoader3 = mocks.DynamicMock <IModuleLoader>();
            IShellView                stubShell   = mocks.Stub <IShellView>();
            DefaultApplicationContext context     = mocks.PartialMock <DefaultApplicationContext>(
                stubShell, new IModuleLoader[] { mockLoader1, mockLoader2, mockLoader3 });

            using (mocks.Record())
            {
                //we may have order dependnecies, let us verify
                //that it does this in order
                using (mocks.Ordered())
                {
                    mockLoader1.Initialize(context, stubShell);
                    mockLoader2.Initialize(context, stubShell);
                    mockLoader3.Initialize(context, stubShell);
                }

                //force context to ignore these calls
                Expect.Call(context.GetShellAsForm()).Return(null).Repeat.Once();
                Expect.Call(delegate { context.RunForm(null); }).Repeat.Once();
            }

            using (mocks.Playback())
            {
                context.Start();
            }
        }
示例#4
0
        /// <summary>
        /// Initializes the modules. May be overwritten in a derived class to use custom
        /// module loading and avoid using an <seealso cref="IModuleLoader"/> and
        /// <seealso cref="IModuleEnumerator"/>.
        /// </summary>
        protected virtual void InitializeModules()
        {
            IModuleEnumerator moduleEnumerator = Container.TryResolve <IModuleEnumerator>();

            if (moduleEnumerator == null)
            {
                throw new InvalidOperationException(Resources.NullModuleEnumeratorException);
            }

            IModuleLoader moduleLoader = Container.TryResolve <IModuleLoader>();

            if (moduleLoader == null)
            {
                throw new InvalidOperationException(Resources.NullModuleLoaderException);
            }

            ModuleInfo[] moduleInfo = moduleEnumerator.GetStartupLoadedModules();
            moduleLoader.Initialize(moduleInfo);
        }
        public Startup(IHostingEnvironment env)
        {
            _env = env;
            var moduleLoaderFactory = new ModuleLoaderFactory();

            _moduleLoader = moduleLoaderFactory.BuidlerModuleLoader(new ModuleLoaderOptions
            {
                NugetSources = new List <string>
                {
                    @"d:\sidfeeds\core\",
                    @"d:\sidfeeds\tools\",
                    "https://api.nuget.org/v3/index.json",
                    "https://www.myget.org/F/advance-ict/api/v3/index.json"
                },
                ModuleFeedUri     = new Uri("http://localhost:60008/configuration"),
                ProjectName       = "OpenIdProvider",
                NugetNbRetry      = 5,
                NugetRetryAfterMs = 1000
            });
            _moduleLoader.ModuleInstalled += ModuleInstalled;
            _moduleLoader.UnitsRestored   += UnitsRestored;

            _moduleLoader.ModulesLoaded    += HandleModulesLoaded;
            _moduleLoader.ConnectorsLoaded += HandleConnectorsLoaded;
            _moduleLoader.TwoFactorsLoaded += HandleTwoFactorsLoaded;

            _moduleLoader.ModuleCannotBeInstalled += ModuleCannotBeInstalled;
            _moduleLoader.ConnectorsChanged       += HandleConnectorsChanged;

            _moduleLoader.Initialize();
            _moduleLoader.RestoreUnits().Wait();
            _moduleLoader.RestoreConnectors().Wait();
            _moduleLoader.RestoreTwoFactors().Wait();
            _moduleLoader.LoadUnits();
            _moduleLoader.LoadConnectors();
            _moduleLoader.LoadTwoFactors();
            _moduleLoader.WatchConfigurationFileChanges();
        }
示例#6
0
文件: Receivers.cs 项目: WinUP/WADV
 private static bool ModuleLoadMapper(ReceiverList<IModuleLoader, Type[]> list, IModuleLoader receiver, Type[] parameter)
 {
     return receiver.Initialize(parameter);
 }
示例#7
0
 private void OnLoadModuleCClick(object sender, RoutedEventArgs e)
 {
     moduleLoader.Initialize(new ModuleInfo[] { moduleEnumerator.GetModule("ModuleC") });
 }