6、在GAC(全局组合体缓冲区)中添加对象
·通过点击Start Menu --> Programs --> Administrative Tools --> Microsoft .NET Framework Configuration打开.NET框架配置工具。
·点击Select Assembly Cache --> Select View List of Assemblies in the Assembly Cache浏览GAC中所有的组合体。
·右击Assembly Cache图标,从弹出菜单中选择Add。
·找到该项目的bin目录中的ACCESSingSharedResources.dll文件,并双击它。
注意:如果命令提示行窗口仍然在运行,输入gacutil /i ACCESSingSharedResources.dll,也能够将对象添加到GAC中。这是在GAC中添加对象的第二种方法。
7、添加System.EnterpiseServices.dll的引用
8、引入恰当的Enterprise Services名字空间
·Imports System.EnterpriseServices
·Imports System.Runtime.CompilerServices
·Imports System.Reflection
9、在各个类中继承ServicedComponent类
Public Class dal_ACCESSNetwork
Inherits ServicedComponent
10、在支持服务性组件的AssemblyInfo.VB文件中添加与服务性组件相关的组合体属性。
·引入System.EnterpriseServices名字空间
·添加下面的代码:
'COM+应用程序名字
< Assembly: ApplicationName("ACCESSingSharedResources")>
'COM+激活类型
<Assembly: ApplicationActivation(ActivationOption.Server)>
11、设置AssemblyVersion:
据MSDN上的文章(http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetsec/html/SecNetch09.ASP)称,当新项目创建时由Microsoft Visual Studio(r) .NET开发系统生成的缺省AssemblyVersion属性是<Assembly: AssemblyVersion("1.0.*")>。每当项目重建时,就会产生新的组合体版本,这也会产生识别服务性组件类的新的类识别符(CLSID)。如果使用Regsvcs.exe重复向组合体注册组件服务,就会在Components文件夹中看到具有不同CLSID的复制的组件。
尽管这符合严格的COM规则,能够阻止现有的可管理和不可管理的客户破坏它,在开发过程中仍然是非常烦人的。在测试和开发过程中,考虑通过使用如下所示的组合体级AssemblyVersion属性设置一个明确的版本:
<Assembly: AssemblyVersion("1.0.0.1")>
这一设置将阻碍每次编译项目时产生新的CLSID。
12、生成新的COM+应用程序,在新的COM+应用程序中注册该组合体
·运行Visual Studio .NET Command Prompt。
·找到bin目录中dll文件的位置。
·输入regsvcs /c ACCESSingSharedResources.dll,并键入回车。
13、修改Web应用程序
·添加System.EnterrpiseServices.dll的引用
·在web客户端软件中添加Imports System.EnterpriseServices语句
到这一步,服务性组件就全部完成了。我们可以将该组件看作一个COM+应用软件。
·通过选择Start --> Programs --> Administrative Tools --> Component Services运行Component Services Manager。
·扩展Console Root --> Component Services --> Computers --> My Computer --> COM+ Applications --> ACCESSingSharedResources--> Components。
http://dev.xuezhishi.net/website/NET/2007-10-17/20783.html