Nancy 過濾加載dll

  protected override void ConfigureApplicationContainer(TinyIoCContainer container) {



            List<Func<Assembly, bool>> IgnoredAssemblies = DefaultNancyBootstrapper.DefaultAutoRegisterIgnoredAssemblies.ToList();
           // IgnoredAssemblies.Add((asy) => asy.FullName.StartsWith("Seagull", StringComparison.InvariantCulture));

            //var expression = LinqExtensions.True<Assembly>();

            //var query = from a in AppDomain.CurrentDomain.GetAssemblies()
            //            where a.FullName.StartsWith("Seagull")
            //            select a;


            //List<Func<Assembly, bool>> ignoredAssemblies = new List<Func<Assembly, bool>>();

            //foreach (var item in query) {

            //    ignoredAssemblies.Add((asys) => { return asys == item; });
            //}

            //Assembly assembly = typeof(NancyEngine).Assembly;

            ////var list = (from a in AppDomain.CurrentDomain.GetAssemblies()
            ////            where !ignoredAssemblies.Any((Func<Assembly, bool> ia) => ia(a))
            ////            select a).ToList();
            ////container.AutoRegister(from a in AppDomain.CurrentDomain.GetAssemblies()
            ////                       where !ignoredAssemblies.Any((Func<Assembly, bool> ia) => ia(a))
            ////                       select a, DuplicateImplementationActions.RegisterMultiple, (Type t) => t.Assembly != assembly);

            this.AutoRegister(container, IgnoredAssemblies);
        }

        private  void AutoRegister(TinyIoCContainer container, IEnumerable<Func<Assembly, bool>> ignoredAssemblies) {
            Assembly assembly = typeof(NancyEngine).Assembly;
            container.AutoRegister(from a in AppDomain.CurrentDomain.GetAssemblies()
                                   where !ignoredAssemblies.Any((Func<Assembly, bool> ia) => ia(a))
                                   && a.FullName.StartsWith("Leadyo")
                                   select a, DuplicateImplementationActions.RegisterMultiple, (Type t) => t.Assembly != assembly);
        }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章