代码之家  ›  专栏  ›  技术社区  ›  Phil Rykoff

net中的插件架构:卸载

  •  5
  • Phil Rykoff  · 技术社区  · 14 年前

    为了加载

    • 自定义用户定义的操作
    • 自定义数据网格/转换/的数据类型处理代码…

    从非静态链接的程序集文件。

    因为应用程序必须处理 许多的 自定义用户定义的操作,IAM需要在执行后卸载它们,以减少内存使用。

    我发现了一些关于插件架构的好文章,例如:

    但他们都没有给我足够的香肠来正确地卸下一个集会。

    由于程序将被分发并且用户定义的操作(如名称所示)是用户定义的:如何防止程序集执行恶意代码(如关闭我的程序、删除文件)?

    你们中有人遇到过其他陷阱吗?

    3 回复  |  直到 9 年前
        1
  •  4
  •   Michael Ulmann    14 年前

    您是否考虑过使用ms中的插件和扩展框架? http://msdn.microsoft.com/en-us/magazine/cc163476.aspx

    迈克尔

        2
  •  4
  •   John Saunders    14 年前

    一种技术是将额外的程序集加载到单独的appdomain中。卸载appdomain将卸载程序集。

        3
  •  1
  •   Alex Budovski    14 年前

    不能卸载单个程序集。只能通过卸载程序集所属的appdomain来卸载程序集组。

    这本质上就是sql clr和asp.net的工作方式——为用户提供的程序集提供一个临时的appdomain。