C#中写简单的COM+组件

 关于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 命令提示


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




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 一下就可以直接用其中的方法了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值