代码之家  ›  专栏  ›  技术社区  ›  SharePoint Newbie

ASP.NET,引用的程序集未被IIS加载到AppDomain中

  •  0
  • SharePoint Newbie  · 技术社区  · 16 年前

    我们正在应用程序启动(global.ascx.cs)中为由IIs7.0(集成管道)托管的WCF服务执行以下操作。

            var mapperConfigurations = AppDomain.CurrentDomain.GetAssemblies()
                .SelectMany(a => a.GetExportedTypes().Where(t => typeof (IMapperConfiguration).IsAssignableFrom(t) && t.IsClass))
                .ToList();
    

    Web服务在其bin文件夹中有8-10个程序集,每个程序集都有IMaperConfiguration的多个实现。重置IIS后,未找到映射器配置(使用debug.write找到此配置)。但是,这种行为是不一致的,并且在其他时候,会找到imapperconfiguration的所有实现。

    IIS究竟何时加载程序集?此代码有什么问题?

    谢谢

    1 回复  |  直到 16 年前
        1
  •  1
  •   Jack    16 年前

    它很简单。.NET仅在确实需要时加载程序集。这意味着您希望在程序集中有一个类型的实例。

    在您的情况下,必须显式地加载它们。

    推荐文章