ASP.NET Lab

The Best Web, The Best Future

博客园 首页 新随笔 订阅 管理

按照这些常规指南来创建为并发执行而被设计的被管理应用程序或者组件:

  • 把类型标识绑定到文件的特定版本。

    公共语言运行时通过使用强命名的汇编集把类型标识绑定到一个特定的文件版本。要为并发执行而创建一个应用程序或者组件,你就必须为所有的汇编集提供强名称。这会创建精确的类型标识并且确保任何类型协议都把注意力集中到正确的文件。一个强命名的汇编集包含了在运行时定位到正确文件来完成绑定请求的版本,文化和出版者信息。

  • 使用明确版本的存储。

    运行时使用全局汇编缓存来提供明确版本存储。全局汇编缓存是安装在每台使用 .NET Framework 的计算机中的一种明确版本的目录结构。当该汇编集的一个新版本被安装之后,被安装在全局汇编缓存中的汇编集并不会被覆盖。

  • 创建一个隔离运行的应用程序或者组件。

    隔离运行的应用程序或者组件必须管理资源来避免同时运行的应用程序或者组件的两个实例之间的冲突。该应用程序或者组件同样必须使用特定版本的文件结构。

应用程序与组件隔离

为并发执行而成功地设计应用程序或者组件的一个关键就是隔离。应用程序或者组件必须管理所有的资源,独特的文件 I/O,以一种被隔离的方式。遵循这些指南来确保你的应用程序或者组件的隔离运行:

  • 以一种特定版本方式来写入注册表。把值存储进表示版本的簇或者关键字中,并且不要跨越组件的版本来共享信息或者状态。这防止了两个应用程序或者组件同时从信息的覆盖中运行。
  • 产生特定版本的已命名内核对象,因此不会出现紊乱条件。例如,当彼此等待的相同应用程序的两个版本出现两个信号时所出现的紊乱条件。
  • 产生明确版本的文件与目录名称。这表示这些文件结构应该依赖于版本信息。
  • 以一种特定版本的方式来创建用户帐号和分组。通过应用程序而被创建的用户帐号和分组应该通过版本而被识别。不要在应用程序的版本之间共享用户帐号和分组。

安装与卸载版本

当为并发执行而设计应用程序的时候,遵循这些关于安装和卸载版本的指南:

  • 不要从可能被其他运行在不同版本 .NET Framework 下的应用程序所需要的注册表中删除信息。
  • 不要替换可能被其他运行在不同版本 .NET Framework 下的应用程序所需要的注册表信息。
  • 不要反注册运行在不同版本 .NET Framework 下的可能被其他应用程序所需要的 COM 组件。
  • 不要更改已经被注册的 COM 服务器的 InprocServer32 或者其他注册表入口。
  • 不要删除可能被运行在不同版本 .NET Framework 下的其他应用程序所需要的用户帐号或者分组。
  • 不要把任何事物添加到包含未被版本化的路径的注册表中。

文件版本号与汇编版本号

  • 文件版本就是一种不被运行时所使用的 Win32 版本资源。通常,你需要为 QFE 更新文件版本。两个同样的文件可以有不同的文件版本信息,并且两个不同的文件还可以拥有相同的文件版本信息。
  • 汇编集版本通过汇编集绑定的运行时而被使用。拥有不同版本号的两个同一汇编集会被运行时视为两种不同的汇编集。
  • 全局汇编集缓存工具(Gacutil.exe)只允许你在文件版本号是最新的时候替换汇编集。通常安装程序不会通过一个汇编集,除非该汇编集版本号是是最大的。
posted on 2007-03-24 18:47  Laeb  阅读(249)  评论(0编辑  收藏  举报