public static void GlueTogetherMediatrInterfaces(this IAssemblyScanner scanner) { scanner.ConnectImplementationsToTypesClosing(typeof(IRequestHandler <,>)); scanner.ConnectImplementationsToTypesClosing(typeof(IAsyncRequestHandler <,>)); scanner.ConnectImplementationsToTypesClosing(typeof(INotificationHandler <>)); scanner.ConnectImplementationsToTypesClosing(typeof(IAsyncNotificationHandler <>)); }
public static void Scan(IAssemblyScanner scan) { var projectPrefix = ConfigurationManager.AppSettings["IoCProjectPrefix"]; scan.TheCallingAssembly(); scan.AssembliesFromApplicationBaseDirectory( y => y.FullName.StartsWith(projectPrefix) && !y.FullName.EndsWith("Tests")); scan.AddAllTypesOf(typeof(IRepository <>)); scan.ConnectImplementationsToTypesClosing(typeof(IRepository <>)); scan.WithDefaultConventions(); scan.LookForRegistries(); }
private void Scan(IAssemblyScanner scanner) { scanner.TheCallingAssembly(); scanner.SingleImplementationsOfInterface(); scanner.WithDefaultConventions(); // Copy all plugins to the /bin/Plugins folder CopyPlugins(); // Scan plugins foreach (string subDirectory in Directory.GetDirectories(_applicationSettings.PluginsBinPath)) { scanner.AssembliesFromPath(subDirectory); } // UserServiceBase is scanned below // Scan for TextPlugins scanner.AddAllTypesOf <TextPlugin>(); // Scan for SpecialPages scanner.AddAllTypesOf <SpecialPagePlugin>(); // The pluginfactory scanner.AddAllTypesOf <IPluginFactory>(); // Config, repository, context scanner.AddAllTypesOf <ApplicationSettings>(); scanner.AddAllTypesOf <IRepository>(); scanner.AddAllTypesOf <IUserContext>(); // Services and services scanner.AddAllTypesOf <ServiceBase>(); scanner.AddAllTypesOf <IPageService>(); scanner.AddAllTypesOf <IActiveDirectoryProvider>(); scanner.AddAllTypesOf <UserServiceBase>(); // Text parsers scanner.AddAllTypesOf <MarkupConverter>(); scanner.AddAllTypesOf <CustomTokenParser>(); // MVC Related scanner.AddAllTypesOf <Roadkill.Core.Mvc.Controllers.Api.ApiControllerBase>(); scanner.AddAllTypesOf <Roadkill.Core.Mvc.Controllers.ControllerBase>(); scanner.AddAllTypesOf <UserViewModel>(); scanner.AddAllTypesOf <SettingsViewModel>(); scanner.AddAllTypesOf <AttachmentRouteHandler>(); scanner.AddAllTypesOf <ISetterInjected>(); scanner.AddAllTypesOf <IAuthorizationAttribute>(); scanner.AddAllTypesOf <RoadkillLayoutPage>(); scanner.AddAllTypesOf(typeof(RoadkillViewPage <>)); scanner.ConnectImplementationsToTypesClosing(typeof(RoadkillViewPage <>)); // Emails scanner.AddAllTypesOf <SignupEmail>(); scanner.AddAllTypesOf <ResetPasswordEmail>(); // Cache scanner.AddAllTypesOf <ListCache>(); scanner.AddAllTypesOf <PageViewModelCache>(); // Export scanner.AddAllTypesOf <WikiExporter>(); }
private void ScanTypes(IAssemblyScanner scanner) { scanner.TheCallingAssembly(); scanner.AssembliesFromApplicationBaseDirectory(assembly => assembly.FullName.Contains("Roadkill")); scanner.SingleImplementationsOfInterface(); scanner.WithDefaultConventions(); // Scan plugins: this includes everything e.g repositories, UserService, FileService TextPlugins CopyPlugins(ApplicationSettings); foreach (string subDirectory in Directory.GetDirectories(ApplicationSettings.PluginsBinPath)) { scanner.AssembliesFromPath(subDirectory); } // Plugins scanner.With(new AbstractClassConvention <TextPlugin>()); scanner.With(new AbstractClassConvention <SpecialPagePlugin>()); scanner.AddAllTypesOf <IPluginFactory>(); // Config, context scanner.AddAllTypesOf <ApplicationSettings>(); scanner.AddAllTypesOf <IUserContext>(); // Repositories scanner.AddAllTypesOf <ISettingsRepository>(); scanner.AddAllTypesOf <IUserRepository>(); scanner.AddAllTypesOf <IPageRepository>(); // Services scanner.With(new AbstractClassConvention <UserServiceBase>()); scanner.AddAllTypesOf <IPageService>(); scanner.AddAllTypesOf <ISearchService>(); scanner.AddAllTypesOf <ISettingsService>(); scanner.AddAllTypesOf <IActiveDirectoryProvider>(); scanner.AddAllTypesOf <IFileService>(); scanner.AddAllTypesOf <IInstallationService>(); // Text parsers scanner.AddAllTypesOf <MarkupConverter>(); scanner.AddAllTypesOf <CustomTokenParser>(); // MVC Related scanner.AddAllTypesOf <UserViewModel>(); scanner.AddAllTypesOf <SettingsViewModel>(); scanner.AddAllTypesOf <AttachmentRouteHandler>(); scanner.AddAllTypesOf <ISetterInjected>(); scanner.AddAllTypesOf <IAuthorizationAttribute>(); scanner.AddAllTypesOf <RoadkillLayoutPage>(); scanner.AddAllTypesOf(typeof(RoadkillViewPage <>)); scanner.ConnectImplementationsToTypesClosing(typeof(RoadkillViewPage <>)); // Emails scanner.AddAllTypesOf <SignupEmail>(); scanner.AddAllTypesOf <ResetPasswordEmail>(); // Cache scanner.AddAllTypesOf <ListCache>(); scanner.AddAllTypesOf <PageViewModelCache>(); // Export scanner.AddAllTypesOf <WikiExporter>(); // Controllers scanner.AddAllTypesOf <IRoadkillController>(); scanner.AddAllTypesOf <ControllerBase>(); scanner.AddAllTypesOf <ApiController>(); scanner.AddAllTypesOf <ConfigurationTesterController>(); }
private void Scan(IAssemblyScanner scanner) { scanner.TheCallingAssembly(); scanner.SingleImplementationsOfInterface(); scanner.WithDefaultConventions(); // Copy all plugins to the /bin/Plugins folder CopyPlugins(); // Scan plugins foreach (string subDirectory in Directory.GetDirectories(_applicationSettings.PluginsBinPath)) { scanner.AssembliesFromPath(subDirectory); } // UserServiceBase is scanned below // Scan for TextPlugins scanner.AddAllTypesOf<TextPlugin>(); // Scan for SpecialPages scanner.AddAllTypesOf<SpecialPagePlugin>(); // The pluginfactory scanner.AddAllTypesOf<IPluginFactory>(); // Config, repository, context scanner.AddAllTypesOf<ApplicationSettings>(); scanner.AddAllTypesOf<IRepository>(); scanner.AddAllTypesOf<IUserContext>(); // Services and services scanner.AddAllTypesOf<ServiceBase>(); scanner.AddAllTypesOf<IPageService>(); scanner.AddAllTypesOf<IActiveDirectoryProvider>(); scanner.AddAllTypesOf<UserServiceBase>(); scanner.AddAllTypesOf<IFileService>(); // Text parsers scanner.AddAllTypesOf<MarkupConverter>(); scanner.AddAllTypesOf<CustomTokenParser>(); // MVC Related scanner.AddAllTypesOf<Roadkill.Core.Mvc.Controllers.Api.ApiControllerBase>(); scanner.AddAllTypesOf<Roadkill.Core.Mvc.Controllers.ControllerBase>(); scanner.AddAllTypesOf<UserViewModel>(); scanner.AddAllTypesOf<SettingsViewModel>(); scanner.AddAllTypesOf<AttachmentRouteHandler>(); scanner.AddAllTypesOf<ISetterInjected>(); scanner.AddAllTypesOf<IAuthorizationAttribute>(); scanner.AddAllTypesOf<RoadkillLayoutPage>(); scanner.AddAllTypesOf(typeof(RoadkillViewPage<>)); scanner.ConnectImplementationsToTypesClosing(typeof(RoadkillViewPage<>)); // Emails scanner.AddAllTypesOf<SignupEmail>(); scanner.AddAllTypesOf<ResetPasswordEmail>(); // Cache scanner.AddAllTypesOf<ListCache>(); scanner.AddAllTypesOf<PageViewModelCache>(); // Export scanner.AddAllTypesOf<WikiExporter>(); }
private static void doScan(IAssemblyScanner scanner) { scanner.ConnectImplementationsToTypesClosing(typeof(CommandExecutor<>)); }
private static void doScan(IAssemblyScanner scanner) { scanner.ConnectImplementationsToTypesClosing(typeof(IHandler<>)); }
/// <summary> /// Registers all of the command and query handlers. /// </summary> /// <param name="assemblyScanner"></param> public static void RegisterAllLeadPipeCommandAndQueryHandlers(this IAssemblyScanner assemblyScanner) { assemblyScanner.ConnectImplementationsToTypesClosing(typeof(ICommandHandler <>)); assemblyScanner.ConnectImplementationsToTypesClosing(typeof(ICommandHandler <,>)); assemblyScanner.ConnectImplementationsToTypesClosing(typeof(IQueryHandler <,>)); }