关于COM+

[入库:2005年8月18日] [更新:2007年3月25日]

本文简介:选择自 neil_raul 的 blog

关于c#中com+的使用大致是这样的:com+需要服务器端和客户端,个人意见com+更合适于b/s系统中。

关于服务器构造是这样的:

1、首先新建一个类库。(这里我们把它命名为testcom)

     它会生成两个文件,assemblyinfo.cs和class1.cs

2、添加新类( server.cs )

3、添加引用( system.enterpriseservices )

4、回到class1.cs 将其该为接口。

using system;

namespace testcom
{

    public interface class1
    {
          string test();            
    }
}

5、打开server.cs 的代码

在代码using 中添加引用:using system.enterpriseservices

将server.cs继承servicedcomponent,class1。它会自动有个提示,按tab。。。。。

具体代码如下:

using system;
using system.enterpriseservices;

namespace testcom
{
/// <summary>
/// server 的摘要说明。
/// </summary>
public class server: servicedcomponent,class1
{
  public server()
  {
   //
   // tod 在此处添加构造函数逻辑
   //
  }
  #region class1 成员

  public string test()
  {
     string a = "mm";
      return a;                     //随便传个string

  }

  #endregion
}
}

6、回到assemblyinfo.cs,添加引用using system.enterpriseservices;

添加代码:

//将组件设置为服务器启动模式。
[assembly: applicationactivation(activationoption.server) ]

//制定应用服务器名称
[assembly: applicationname("server")]

接下来,给服务器程序一个强名称。(相当于注册)

7、打开visual studio .net2003 命令提示

找到文件的地址,输入sn -k ,生成密匙

比如我的文件在e盘,c#中,

e:\c#\testcom\testcom > sn -k server.snk;

server.snk为生成的文件名称,( 执行完成后,文件里会多出一个文件server.snk )

8、强名称生成完后,回到程序中

在assemblyinfo.cs中最后几排,可以发现[assembly: assemblykeyfile(" ")]

把文件路径写进去[assembly: assemblykeyfile("../../server.snk")]

9、生成解决方案,在obj \ debug 中会有个testcom.dll

回到visual studio .net2003 命令提示,到文件obj\debug目录下,执行regsvcs 命令,注册服务。

我机器上是这样的

e:\c#\testcom\testcom\obj\debug > regsvcs testcom.dll;

这样,服务器就构建完成。

打开我的电脑,控制面板,管理工具,组件服务,com+应用程序,

现在我们可以看到com+中多了个,server

这个就是你所建的服务器

10、在server上按右键,打开属性,修改安全性:调用身份验证级别为:无,模拟级别为标识。授权下的勾去掉( 这些是根据情况需要更改的,现在仅仅做个本机上的列子)。然后找到激活,远程服务器名称改成你自己机器的ip地址。
11、建立客户端。

建一个winfrom

加入引用:using system.enterpriseservices

using testcom;

在客户端要引用的地方new 一下就可以直接用其中的方法了。

这仅仅是本人对com+的一点理解,如果有什么问题,可以和我联系,共同探讨,qq:37942063

本文关键:关于COM+
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top