示例#1
0
        /// <summary>
        ///     Builds and initializes a IHost for the configured JasperOptions
        /// </summary>
        /// <param name="configure"></param>
        /// <returns></returns>
        public static IHost For(Action <JasperOptions> configure)
        {
            var registry = new JasperOptions();

            configure(registry);
            return(bootstrap(registry));
        }
示例#2
0
 private static IHost bootstrap(JasperOptions options)
 {
     return(Host.CreateDefaultBuilder()
            .UseJasper(options)
            //.ConfigureLogging(x => x.ClearProviders())
            .Start());
 }
示例#3
0
        internal static void ApplyExtensions(JasperOptions options)
        {
            var assemblies = FindExtensionAssemblies(options.ApplicationAssembly);

            if (!assemblies.Any())
            {
                Console.WriteLine("No Jasper extensions are detected");
                return;
            }

            var extensions = assemblies.Select(x => x.GetAttribute <JasperModuleAttribute>().ExtensionType)
                             .Where(x => x != null)
                             .Select(x => Activator.CreateInstance(x).As <IJasperExtension>())
                             .ToArray();

            options.ApplyExtensions(extensions);
        }
示例#4
0
 /// <summary>
 ///     Builds and initializes a IHost for the options
 /// </summary>
 /// <param name="options"></param>
 /// <returns></returns>
 public static IHost For(JasperOptions options)
 {
     return(bootstrap(options));
 }