Пример #1
0
        /// <summary>
        ///     Accepts the type which will specify the users custom configuration.
        ///     This type should implement <see cref="IConfigureThisEndpoint" />.
        /// </summary>
        /// <param name="specifier"></param>
        /// <param name="args"></param>
        /// <param name="defaultProfiles"></param>
        /// <param name="endpointName"></param>
        /// <param name="scannableAssembliesFullName">Assemblies full name that were scanned.</param>
        public GenericHost(IConfigureThisEndpoint specifier, string[] args, List <Type> defaultProfiles,
                           string endpointName, IEnumerable <string> scannableAssembliesFullName = null)
        {
            this.specifier = specifier;

            if (String.IsNullOrEmpty(endpointName))
            {
                endpointName = specifier.GetType().Namespace ?? specifier.GetType().Assembly.GetName().Name;
            }

            Configure.GetEndpointNameAction          = () => endpointName;
            Configure.DefineEndpointVersionRetriever = () => FileVersionRetriever.GetFileVersion(specifier.GetType());

            if (scannableAssembliesFullName == null)
            {
                var assemblyScanner = new AssemblyScanner();
                assemblyScanner.MustReferenceAtLeastOneAssembly.Add(typeof(IHandleMessages <>).Assembly);
                assembliesToScan = assemblyScanner
                                   .GetScannableAssemblies()
                                   .Assemblies;
            }
            else
            {
                assembliesToScan = scannableAssembliesFullName
                                   .Select(Assembly.Load)
                                   .ToList();
            }

            profileManager = new ProfileManager(assembliesToScan, specifier, args, defaultProfiles);
            ProfileActivator.ProfileManager = profileManager;

            configManager = new ConfigManager(assembliesToScan, specifier);
            wcfManager    = new WcfManager();
            roleManager   = new RoleManager(assembliesToScan);
        }
Пример #2
0
        public GenericHost(IConfigureThisEndpoint specifier, string[] args, List<Type> defaultProfiles, string endpointName, IEnumerable<string> scannableAssembliesFullName = null)
        {
            this.specifier = specifier;

            if (String.IsNullOrEmpty(endpointName))
            {
                endpointName = specifier.GetType().Namespace ?? specifier.GetType().Assembly.GetName().Name;
            }

            endpointNameToUse = endpointName;
            endpointVersionToUse = FileVersionRetriever.GetFileVersion(specifier.GetType());

            if (scannableAssembliesFullName == null || !scannableAssembliesFullName.Any())
            {
                var assemblyScanner = new AssemblyScanner();
                assemblyScanner.MustReferenceAtLeastOneAssembly.Add(typeof(IHandleMessages<>).Assembly);
                assembliesToScan = assemblyScanner
                    .GetScannableAssemblies()
                    .Assemblies;
            }
            else
            {
                assembliesToScan = scannableAssembliesFullName
                    .Select(Assembly.Load)
                    .ToList();
            }

            profileManager = new ProfileManager(assembliesToScan, args, defaultProfiles);

            wcfManager = new WcfManager();
        }
Пример #3
0
        /// <summary>
        /// Accepts the type which will specify the users custom configuration.
        /// This type should implement <see cref="IConfigureThisEndpoint"/>.
        /// </summary>
        /// <param name="specifier"></param>
        /// <param name="args"></param>
        /// <param name="defaultProfiles"></param>
        public GenericHost(IConfigureThisEndpoint specifier, string[] args, IEnumerable <Type> defaultProfiles)
        {
            this.specifier = specifier;

            var assembliesToScan = AssemblyScanner.GetScannableAssemblies();

            profileManager = new ProfileManager(assembliesToScan, specifier, args, defaultProfiles);
            configManager  = new ConfigManager(assembliesToScan, specifier);
            wcfManager     = new WcfManager(assembliesToScan);
            roleManager    = new RoleManager(assembliesToScan);
        }
Пример #4
0
        /// <summary>
        /// Accepts the type which will specify the users custom configuration.
        /// This type should implement <see cref="IConfigureThisEndpoint"/>.
        /// </summary>
        /// <param name="specifier"></param>
        /// <param name="args"></param>
        /// <param name="defaultProfiles"></param>
        /// <param name="endpointName"></param>
        public GenericHost(IConfigureThisEndpoint specifier, string[] args, IEnumerable <Type> defaultProfiles, string endpointName)
        {
            this.specifier = specifier;
            Configure.GetEndpointNameAction = () => endpointName;

            var assembliesToScan = AssemblyScanner.GetScannableAssemblies()
                                   .ToList();

            profileManager = new ProfileManager(assembliesToScan, specifier, args, defaultProfiles);
            ProfileActivator.ProfileManager = profileManager;

            configManager = new ConfigManager(assembliesToScan, specifier);
            wcfManager    = new WcfManager(assembliesToScan);
            roleManager   = new RoleManager(assembliesToScan);
        }
Пример #5
0
        /// <summary>
        /// Accepts the type which will specify the users custom configuration.
        /// This type should implement <see cref="IConfigureThisEndpoint"/>.
        /// </summary>
        /// <param name="specifier"></param>
        /// <param name="args"></param>
        /// <param name="defaultProfiles"></param>
        /// <param name="endpointName"></param>
        /// <param name="scannableAssembliesFullName">Assemblies full name that were scanned.</param>
        public GenericHost(IConfigureThisEndpoint specifier, string[] args, IEnumerable <Type> defaultProfiles, string endpointName, IEnumerable <string> scannableAssembliesFullName = null)
        {
            this.specifier = specifier;
            Configure.GetEndpointNameAction = () => endpointName;

            List <Assembly> assembliesToScan;

            if (scannableAssembliesFullName == null)
            {
                assembliesToScan = AssemblyScanner.GetScannableAssemblies().Assemblies;
            }
            else
            {
                assembliesToScan = scannableAssembliesFullName.Select(Assembly.Load).ToList();
            }

            profileManager = new ProfileManager(assembliesToScan, specifier, args, defaultProfiles);
            ProfileActivator.ProfileManager = profileManager;

            configManager = new ConfigManager(assembliesToScan, specifier);
            wcfManager    = new WcfManager();
            roleManager   = new RoleManager(assembliesToScan);
        }