在服务组件中使用全局程序集缓存

更新:2007 年 11 月

服务组件(托管代码 COM+ 组件)应当放在全局程序集缓存中。在有些方案中,公共语言运行库和 COM+ 服务能够处理不在全局程序集缓存中的服务组件,而在有些方案中则不能。以下方案对此进行了说明:

  • 对于 COM+ Server 应用程序中的服务组件,包含组件的程序集必须在全局程序集缓存中,因为 Dllhost.exe 无法在服务组件所在的同一目录中运行。

  • 对于 COM+ Library 应用程序中的服务组件,运行时和 COM+ Services 可通过搜索当前目录来解析对组件所在程序集的引用。在这种情况下,程序集不需要在全局程序集缓存中。

  • 对于 ASP.NET 应用程序中的服务组件,情况则有所不同。如果将包含服务组件的程序集放在应用程序库的 bin 目录中,并使用按需注册,程序集将被影像复制到下载缓存,因为 ASP.NET 利用了运行库的影像功能。

请参见

参考

全局程序集缓存工具 (Gacutil.exe)

程序集缓存查看器 (Shfusion.dll)

其他资源

如何:创建服务组件

使用程序集和全局程序集缓存