Example #1
0
        /// <summary>
        /// The scan assemblies.
        /// </summary>
        public void ScanAssemblies()
        {
            if ((HostConfig?.ServiceAssemblies == null) || (HostConfig?.ServiceAssemblies.Count == 0))
            {
                return;
            }

            foreach (var assembly in HostConfig?.ServiceAssemblies)
            {
                if (!assembly.IsScanned)
                {
                    var scanner = new RouteScanner(assembly.Assembly);
                    var currentRouteDictionary   = scanner.Scan().Item1;
                    var currentCommandDictionary = scanner.Scan().Item2;
                    ServiceRouteProvider.MergeRoutes(currentRouteDictionary);
                    ServiceRouteProvider.MergeCommands(currentCommandDictionary);

                    assembly.IsScanned = true;
                }
            }
        }