首页 > 其他分享 >Nancy 过滤加载dll

Nancy 过滤加载dll

时间:2024-03-18 20:36:38浏览次数:32  
标签:Assembly CurrentDomain ignoredAssemblies dll Nancy ia container select 加载

  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);
        }

 

标签:Assembly,CurrentDomain,ignoredAssemblies,dll,Nancy,ia,container,select,加载
From: https://www.cnblogs.com/chenxiao/p/18081321

相关文章

  • Fastapi中Swagger UI加载缓慢的解决方案
    在国内网络经常遇到SwaggerUI加载缓慢的问题,这是由于SwaggerUI的CSS和JS代码源在国外导致的,所以我们的解决方法是更改SwaggerUI的CSS代码和JS代码源到国内的CND实现加速。这里以Fastapi框架的SwaggerUI加载缓慢举例:一、解决方法在main.py(入口代码)代码中新增如下代码:fromfa......
  • 错误: 找不到或无法加载主类
    错误:找不到或无法加载主类springboot项目平时启动好的,这天突然启动异常了,只有一个服务启动正常,其他都报错,找不到或无法加载主类。问题排查:首先通过命令行运行mvninstall 显示出无法加载dataSource信息。确定数据库已经启动,并且配置也是正确的。发现是资源文件夹变成普......
  • three模型加载loader模块封装
    在three项目中需要加载很多的模型而且在很多地方需要使用loader加载模型回调的gltf上一个项目中遇到了初学three的我留下笔记简单版`import*asTHREEfrom'three';import{GLTFLoader}from'three/examples/jsm/loaders/GLTFLoader.js';constloader=newGLTFLoa......
  • python动态加载指定的模块
    importimportlibimportsysimportosimportpkgutilimportreimportinspectclassTestInstance:#初始化方法,当创建TestInstance对象时调用def__init__(self,projectName):#初始化实例变量projectName,存储项目名称self.projectName=......
  • 使用JDBC查询数据库会一次性加载所有数据吗
    前几天有个小伙伴说他有个疑问:当我们发起一个查询的时候,数据库服务器是把所有结果集都准备好,然后一次性返回给应用程序服务吗(因为他们生产有个服务因为一个报表查询搞宕机了)。这样想的原因很简单,假设那个报表查询出来有几百万数据,然后一次性倾泻给应用程序了,应用没那么大内存空......
  • Unity3D 基础 05 场景加载
    Unity3D基础系列(第五期)场景配置首先,在资源文件夹里创建一个LoadScene场景,摆放一些物体,用来做初始场景。然后创建一个Stage文件夹,并创建两个场景Stage1、Stage2。两个Stage场景也可以简单布置一下,方便区分。接着,打开BuildSettings,把需要加载的场景添加到配置......
  • AntSK 0.2.1 版本揭秘:动态加载dll,驱动Function Call新境界!
        在.NET的无限宇宙中,动态加载dll似乎一直是操控代码生生不息的魔杖。今天,我将与您探讨如何通过AntSK0.2.1版本灵活运用dll,将FunctionCall的强大功能插拔自如地融入项目之中,我们走入插件化开发的全新篇章。新版本简介       AntSK,这个曾被我们广泛探讨过的......
  • 启动应用程序出现cmdial32.dll找不到问题解决
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个cmdial32.dll文件(挑选合适的版本文件)把它......
  • 启动应用程序出现comcat.dll找不到问题解决
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个comcat.dll文件(挑选合适的版本文件)把它放......
  • QSVRMGMT.DLL文件丢失导致程序无法运行问题
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个QSVRMGMT.DLL文件(挑选合适的版本文件)把它......