コード例 #1
0
        public static IServiceCollection AddCqsEngine(this IServiceCollection services)
        {
            services.AddScoped<IQueryProcessor, QueryProcessor>();
            services.AddScoped<ICommandDispatcher, CommandDispatcher>();

            return services;
        }
コード例 #2
0
 public static IContainerBuilder ConfigureODataServices(this IContainerBuilder builder)
 {
     builder.AddSingleton<ODataWriterValidator>();
     builder.AddScoped<ODataMessageWriter>();
     builder.AddScoped<ODataRequestContext>();
     return builder;
 }
コード例 #3
0
        public static IServiceCollection AddNotifierEvents(this IServiceCollection services)
        {
            services.AddScoped<IEventBus, DefaultOrchardEventBus>();
            services.AddScoped<IEventNotifier, DefaultOrchardEventNotifier>();

            return services;
        }
コード例 #4
0
        public static void AddQuotes(this IServiceCollection services, DataContextBuilder dataContextBuilder)
        {
            services.AddScoped<IQuoteStore, QuoteStore>();
            services.AddScoped<QuoteManager, QuoteManager>();

            dataContextBuilder.RegisterModel<Quote>();
        }
コード例 #5
0
        public static IServiceCollection AddOrchardMvc(this IServiceCollection services)
        {
            services
                .AddMvcCore(options =>
                {
                    options.Filters.Add(new ModelBinderAccessorFilter());
                    options.Conventions.Add(new ModuleAreaRouteConstraintConvention());
                    options.ModelBinders.Insert(0, new CheckMarkModelBinder());
                })
                .AddViews()
                .AddViewLocalization()
                .AddRazorViewEngine()
                .AddJsonFormatters();

            services.AddScoped<IModelUpdaterAccessor, LocalModelBinderAccessor>();
            services.AddTransient<IFilterProvider, DependencyFilterProvider>();
            services.AddTransient<IMvcRazorHost, TagHelperMvcRazorHost>();

            services.AddScoped<IAssemblyProvider, OrchardMvcAssemblyProvider>();

            services.AddSingleton<ICompilationService, DefaultRoslynCompilationService>();

            services.Configure<RazorViewEngineOptions>(options =>
            {
                var expander = new ModuleViewLocationExpander();
                options.ViewLocationExpanders.Add(expander);
            });
            return services;
        }
コード例 #6
0
ファイル: SmidgeStartup.cs プロジェクト: eByte23/Smidge
        public static IServiceCollection AddSmidge(this IServiceCollection services)
        {
            //services.AddNodeServices(NodeHostingModel.Http);

            services.AddTransient<IConfigureOptions<SmidgeOptions>, SmidgeOptionsSetup>();
            services.AddTransient<IConfigureOptions<Bundles>, BundlesSetup>();
            services.AddSingleton<PreProcessPipelineFactory>();
            services.AddSingleton<BundleManager>();
            services.AddSingleton<FileSystemHelper>();
            services.AddSingleton<PreProcessManager>();
            services.AddSingleton<ISmidgeConfig, SmidgeConfig>();
            services.AddScoped<SmidgeContext>();
            services.AddScoped<SmidgeHelper>();
            services.AddSingleton<IUrlManager, DefaultUrlManager>();
            services.AddSingleton<IHasher, Crc32Hasher>();

            //pre-processors
            services.AddSingleton<IPreProcessor, JsMin>();
            services.AddSingleton<IPreProcessor, CssMinifier>();
            //services.AddSingleton<IPreProcessor, NodeMinifier>();
            services.AddScoped<IPreProcessor, CssImportProcessor>();
            services.AddScoped<IPreProcessor, CssUrlProcessor>();


            //Add the controller models as DI services - these get auto created for model binding
            services.AddTransient<BundleModel>();
            services.AddTransient<CompositeFileModel>();

            return services;
        }
コード例 #7
0
 public static IServiceCollection AddOnlineTvDatabase(this IServiceCollection services)
 {
     services.AddSingleton<IOnlineTvDatabase, OnlineTvDatabaseClient>();
     services.AddScoped<IHttpClient, HttpClient>();
     services.AddSingleton<IObjectUrlFactory, ObjectUrlFactory>();
     services.AddScoped<IObjectUrlBuilder<GetSeriesInput>, GetSeriesUrlBuilder>();
     return services;
 }
        public static void AddDefaultServices(this IServiceCollection services)
        {
            services.AddMvc();

            services.AddScoped<LogExceptionFilter>();
            services.AddScoped<ExceptionResponseFilter>();
            services.AddScoped<NullFilter>();
        }
コード例 #9
0
        public static IServiceCollection AddMapProcessing(
            this IServiceCollection services)
        {
            services.AddScoped<IDungeonPopulator, DungeonPopulator>();
            services.AddScoped<IProcessor, Processor>();

            return services;
        }
コード例 #10
0
 public static IServiceCollection ConfigureDependencies(this IServiceCollection services)
 {
     services.AddScoped<ICarrierRepository, CarrierRepository>();
     services.AddScoped<IDriverRepository, DriverRepository>();
     services.AddScoped<IVehicleRepository, VehicleRepository>();
     services.AddScoped<IRidesRepository, RidesRepository>();
     return services;
 }
コード例 #11
0
        public static void AddPages(this IServiceCollection services, DataContextBuilder dataContextBuilder)
        {
            services.AddScoped<IPageStore, PageStore>();
            services.AddScoped<IPageManager, PageManager>();

            dataContextBuilder.RegisterModel<Page>();
            dataContextBuilder.RegisterModel<PlainTextPageContent>();
        }
コード例 #12
0
        public static void AddBlogs(this IServiceCollection services, DataContextBuilder dataContextBuilder)
        {
            services.AddScoped<IBlogStore, BlogStore>();
            services.AddScoped<IBlogPostStore, BlogPostStore>();
            services.AddScoped<BlogManager, BlogManager>();

            dataContextBuilder.RegisterModel<Blog>();
            dataContextBuilder.RegisterModel<BlogPost>();
        }
コード例 #13
0
        public static IServiceCollection AddBackgroundTasks(this IServiceCollection services)
        {
            services.TryAddSingleton<IBackgroundTaskService, BackgroundTaskService>();

            services.AddScoped<BackgroundTasksStarter>();
            services.AddScoped<IOrchardShellEvents>(sp => sp.GetRequiredService<BackgroundTasksStarter>());

            return services;
        }
コード例 #14
0
        public static IServiceCollection AddCloudscribeSetup(
            this IServiceCollection services,
            IConfigurationRoot configuration)
        {
            services.Configure<SetupOptions>(configuration.GetSection("SetupOptions"));
            services.AddScoped<SetupManager, SetupManager>();
            services.AddScoped<IVersionProvider, SetupVersionProvider>();

            return services;
        }
コード例 #15
0
        public static IServiceCollection AddCommands(this IServiceCollection services)
        {
            services.AddScoped<ICommandManager, DefaultCommandManager>();
            services.AddScoped<ICommandHandler, HelpCommand>();

            services.AddScoped<ICommandParametersParser, CommandParametersParser>();
            services.AddScoped<ICommandParser, CommandParser>();

            return services;
        }
コード例 #16
0
        public static IServiceCollection AddCloudscribeCoreNoDbStorage(
            this IServiceCollection services
            )
        {

            services.AddScoped<IBasicQueries<SiteSettings>, CrossProjectQueries<SiteSettings>>();
            services.AddScoped<IBasicQueries<SiteHost>, CrossProjectQueries<SiteHost>>();

            services.AddNoDb<SiteSettings>();
            services.AddNoDb<SiteHost>();

            services.AddNoDb<SiteUser>();
            services.AddNoDb<SiteRole>();
            services.AddNoDb<UserRole>();
            services.AddNoDb<UserClaim>();
            services.AddNoDb<UserLogin>();
            services.AddNoDb<UserLocation>();

            services.AddNoDb<GeoCountry>();
            services.AddNoDb<GeoZone>();
            
            services.AddScoped<IDataPlatformInfo, DataPlatformInfo>();
            
            //services.AddScoped<IProjectResolver, DefaultProjectResolver>();
            services.AddScoped<ISiteCommands, SiteCommands>();
            services.AddScoped<ISiteQueries, SiteQueries>();

            services.AddScoped<IUserCommands, UserCommands>();
            services.AddScoped<IUserQueries, UserQueries>();

            services.AddScoped<IGeoCommands, GeoCommands>();
            services.AddScoped<IGeoQueries, GeoQueries>();

            return services;
        }
コード例 #17
0
        public static IServiceCollection AddContentManagement(this IServiceCollection services)
        {
            services.AddScoped<ICacheContextProvider, ContentDefinitionCacheContextProvider>();
            services.TryAddScoped<IContentDefinitionManager, ContentDefinitionManager>();
            services.TryAddScoped<IContentManager, DefaultContentManager>();
            services.TryAddScoped<IContentManagerSession, DefaultContentManagerSession>();
            services.AddScoped<ContentItemIndexProvider>();
            services.AddScoped<IDataMigration, Migrations>();

            return services;
        }
コード例 #18
0
        public static IServiceCollection AddEF(this IServiceCollection services)
        {
            services.AddDbContext<Context>(
                options =>
                    options.UseSqlite("Filename=learnwordsfast.db", b => b.MigrationsAssembly("LearnWordsFast.API")));

            services.AddScoped<IWordRepository, WordRepository>();
            services.AddScoped<ILanguageRepository, LanguageRepository>();
            services.AddSingleton<IInitializeDataManager, InitialDataManager>();
            return services;
        }
コード例 #19
0
        public static void AddRepositories(this IServiceCollection services)
        {
            services.AddScoped<IMongoDatabase>(provider =>
            {
                var server = new MongoClient();
                return server.GetDatabase("weblog");
            });

            services.AddScoped<IPostRepository>(provider =>
                new PostRepository(provider.GetRequiredService<IMongoDatabase>()));
        }
コード例 #20
0
        public static IServiceCollection AddMapBuilding(
            this IServiceCollection services)
        {
            services.AddTransient<IDirectionPicker>(
                s => new DirectionPicker(
                    s.GetService<DungeonParameters>().TwistFactor));

            services.AddTransient<IList<IMapBuilderCommand>>(s => GenerateCommands(s));
            services.AddScoped<IMapConverter, MapConverter>();
            services.AddScoped<IMapBuilder, MapBuilder>();

            return services;
        }
コード例 #21
0
        public static void AddImplementServices(this IServiceCollection services)
        {
            //Identity
            services.AddScoped<UserStore>();
            services.AddScoped<UserManager<SysUser, int>, UserManager>();

            //Security
            services.AddScoped<FunctionMapStore>();
            services.AddScoped<EntityMapStore>();

            //OAuth
            //services.AddScoped<ClientStore>();
        }
コード例 #22
0
		/// <summary>
		/// Installs RouteJs services for this website.
		/// </summary>
		/// <param name="services">Service collection to register routes in</param>
		/// <returns>The service collection</returns>
		public static IServiceCollection AddRouteJs(this IServiceCollection services)
		{
			services.AddSingleton<IRouteJsConfiguration>(provider => provider.GetRequiredService<IOptions<RouteJsConfiguration>>().Value);
			services.AddSingleton<IRouteFetcher, TemplateRouteFetcher>();
			services.AddSingleton<IRouteFetcher, AttributeRouteFetcher>();
			services.AddSingleton<IConstraintsProcessor, ConstraintsProcessor>();
			services.AddSingleton<IRouteTemplateParser, RouteTemplateParser>();
			services.AddSingleton<IRouteFilter, DefaultRouteFilter>();
			services.AddScoped<IRouteJsHelper, RouteJsHelper>();
			services.AddScoped<IRouteJs, RouteJs>();

			return services;
		}
コード例 #23
0
        public static void AddCoreServices(this IServiceCollection services)
        {
            services.AddScoped<CategoryService>()
                .AddScoped<AccountService>()
                .AddScoped<UserService>()
                .AddScoped<TopicService>()
                .AddScoped<CommentService>()
                .AddScoped<UserVoteService>()
                .AddScoped<UserCollectService>()
                .AddScoped<MessageService>();

            services.AddScoped<ClientManager>();
        }
コード例 #24
0
        /// <summary>
        /// Adds EventBus and related types.
        /// </summary>
        /// <param name="services"></param>
        /// <returns></returns>
        public static IServiceCollection AddEventBus(this IServiceCollection services)
        {
            var eventHandlerClassTypes = services
                .Select(x => x.ImplementationType)
                .Where(t => t != null && typeof (IEventHandler).IsAssignableFrom(t) && t.GetTypeInfo().IsClass)
                .ToArray();

            foreach (var handlerClassType in eventHandlerClassTypes)
            {
                services.AddScoped(handlerClassType);

                // Register dynamic proxies to intercept direct calls if an IEventHandler is resolved, dispatching the call to
                // the event bus.
                foreach (var i in handlerClassType.GetInterfaces().Where(t => typeof(IEventHandler).IsAssignableFrom(t)))
                {
                    services.AddScoped(i, serviceProvider =>
                    {
                        var proxy = EventBusHelper.CreateProxy(i);
                        proxy.EventBus = serviceProvider.GetService<IEventBus>();
                        return proxy;
                    });
                }
            }

            services.AddSingleton<IEventBusState>(serviceProvider =>
            {
                var eventBusState = new EventBusState();

                // Register any IEventHandler method in the event bus
                foreach (var eventHandlerClassType in eventHandlerClassTypes)
                {
                    foreach (var handlerInterface in eventHandlerClassType.GetInterfaces().Where(x => typeof(IEventHandler).IsAssignableFrom(x)))
                    {
                        foreach (var interfaceMethod in handlerInterface.GetMethods())
                        {
                            Func<IServiceProvider, IDictionary<string, object>, Task> d = (sp, parameters) 
                                => EventBusHelper.Invoke(sp, parameters, interfaceMethod, eventHandlerClassType);

                            eventBusState.Add(handlerInterface.Name + "." + interfaceMethod.Name, d);
                        }
                    }
                }

                return eventBusState;
            });

            services.AddScoped<IEventBus, DefaultEventBus>();
            return services;
        }
コード例 #25
0
        public static void AddRepositoryRegistrations(this IServiceCollection serviceCollection)
        {
            serviceCollection.AddDataRetriverRegistrations();

            serviceCollection.AddScoped<IProfileService, ProfileService>();
            serviceCollection.AddScoped<IUserService, UserService>();
            serviceCollection.AddScoped<IGroupService, GroupService>();

            serviceCollection.AddScoped<IRepository<User>, BaseMySqlRepository<User>>();
            serviceCollection.AddScoped<IRepository<Group>, BaseMySqlRepository<Group>>();

            serviceCollection.AddProfileCommandsRegistrations();
            serviceCollection.AddUserCommandsRegistrations();
            serviceCollection.AddGroupCommandsRegistrations();
        }
コード例 #26
0
        public static IServiceCollection AddOrchardMvc(this IServiceCollection services)
        {
            services
                .AddMvcCore(options =>
                {
                    options.Filters.Add(new ModelBinderAccessorFilter());
                    options.Filters.Add(typeof(AutoValidateAntiforgeryTokenAuthorizationFilter));
                    options.ModelBinderProviders.Insert(0, new CheckMarkModelBinderProvider());
                })
                .AddViews()
                .AddViewLocalization()
                .AddRazorViewEngine()
                .AddJsonFormatters();

            services.AddScoped<IModelUpdaterAccessor, LocalModelBinderAccessor>();
            services.AddTransient<IFilterProvider, DependencyFilterProvider>();
            services.AddTransient<IApplicationModelProvider, ModuleAreaRouteConstraintApplicationModelProvider>();

            services.Configure<RazorViewEngineOptions>(configureOptions: options =>
            {
                var expander = new ModuleViewLocationExpander();
                options.ViewLocationExpanders.Add(expander);

                var extensionLibraryService = services.BuildServiceProvider().GetService<IExtensionLibraryService>();
                ((List<MetadataReference>)options.AdditionalCompilationReferences).AddRange(extensionLibraryService.MetadataReferences());
            });

            return services;
        }
コード例 #27
0
ファイル: Bindings.cs プロジェクト: RobinVercammen/VNextTest
 public static void AddCustomBindings(this IServiceCollection services, IConfiguration configuration)
 {
     IMongoClient client = new MongoClient(configuration.Get("ConnectionString"));
     services.AddInstance<IMongoClient>(client);
     services.AddInstance<IMongoDatabase>(client.GetDatabase("VnextDB"));
     services.AddScoped<ITimesheetService, TimesheetService>();
 }
コード例 #28
0
 public static IServiceCollection AddSmsService(this IServiceCollection serviceCollention, string appId,
     string appKey)
 {
     Args.NotNull(serviceCollention, nameof(serviceCollention));
     serviceCollention.AddScoped<ISmsService>(services => new LCSmsService(appId, appKey));
     return serviceCollention;
 }
コード例 #29
0
        public static IServiceCollection ConfigureDependencies(this IServiceCollection services, IConfigurationRoot configuration)
        {
            services.AddScoped<MyHealthDataInitializer>();
            services.AddScoped<Office365HttpApi>();
            services.AddScoped<IHealthReportsRepository, HealthReportsRepository>();

            if (IsOffice365Enabled(configuration))
            {
                services.AddScoped<IAppointmentsRepository, Office365AppointmentsRepository>();
            }
            else
            {
                services.AddScoped<IAppointmentsRepository, LocalAppointmentsRepository>();
            }

            return services;
        }
コード例 #30
0
        public static IServiceCollection AddRabbitMQQueueing(this IServiceCollection services, Action<RabbitMQOptions> setupAction = null)
        {
            services.AddOptions();

            services.AddSingleton<IRabbitMQConnectionAccessor, RabbitMQConnectionAccessor>();
            services.AddScoped<IBroker, RabbitMQBroker>();
            services.AddScoped<IConsumer, RabbitMQConsumer>();
            services.AddScoped<IPublisher, RabbitMQPublisher>();
            services.AddScoped<IRemoteProcedureCallClient, RabbitMQRemoteProcedureCallClient>();

            if (setupAction != null)
            {
                services.Configure(setupAction);
            }

            return services;
        }