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 一下就可以直接用其中的方法了。
C#中写简单的COM+组件相关推荐
- 如何在一个文件中写多个Vue组件(译-有删改)
原文地址 Writing multiple Vue components in a single file 在一个文件中编写多个组件是React的模式,其中一些文件包含多个组件. 走开发过程中,有些组 ...
- vue iframe 中写script_vue: 单文件组件 render函数
使用vue-cli创建的vue项目,如何在这种项目中使用组建? 首先创建项目.启动项目 我们再来了解一下目录结构,src文件夹是写逻辑代码的地方,public是最终渲染到浏览器的地方. 在public ...
- 高级JAVA - 手写简单的重试组件学习Spring Retry
目录 一 . 定义注解 二 . 利用cglib代理扩展重试业务 三 . 编写代理类 , 使用自定义的XRetryInterceptor作为拦截器 四 . 编写相关业务方法 , 测试代码 五 . 测试结 ...
- animation基础练习源码_用vue简单写一个音乐播放组件「附源码」
作者:vipbic 转发链接:https://segmentfault.com/a/1190000022980992 前言 上次小编也分享一个关于Vue 开发过音乐播放对项目: 基于 electron ...
- [vue] 组件中写name选项有什么作用?
[vue] 组件中写name选项有什么作用? 项目使用keep-alive时,可搭配组件name进行缓存过滤 DOM做递归组件时需要调用自身name vue-devtools调试工具里显示的组见名称是 ...
- 【华为云技术分享】一行代码就能写一个日志打印组件,你信吗?为你揭晓LiteOS中日志打印组件的核心
1. 做实验引发的思考 在学习LiteOS日志打印组件使用的时候,我记录了一篇博客:atiny_log | LiteOS 物联网操作系统中的日志打印组件使用分享,关于实验的具体内容,请阅读这篇博客. ...
- vue中写svg组件svg图片加载不出来
vue中写svg组件svg图片加载不出来 结构 首先要安装3个插件:svg-sprite-loader,svgo,svgo-loader npm install svg-sprite-loader - ...
- 当当网电子书能打印吗_一行代码就能写一个日志打印组件,你信吗?为你揭晓RTOS中日志打印组件的核心
1. 做实验引发的思考 在学习LiteOS日志打印组件使用的时候,我记录了一篇博客:atiny_log | LiteOS 物联网操作系统中的日志打印组件使用分享,关于实验的具体内容,请阅读这篇博客(点 ...
- Element组件引发的Vue中mixins使用,写出高复用组件
我们都知道 Vue 采用的是一种组件化开发模式,组件在 Vue 中一个非常重要的核心概念.每个组件都是一个完整的实例,组件的创建,组件间的通讯,组件如何更好的复用,以及整个的生命周期的钩子.所以你会发 ...
最新文章
- 伍六七带你学算法 动态规划 ——不同路径
- python和java对比并发_Python并发编程之从性能角度来初探并发编程(一)
- Android --- RecycleView获取第 i 个 item 里面的控件并进行赋值
- JEPaas代码(SQL功能表)通过SQL功能表进行表查询
- db2 语句包括不必要的列表_列表推导和生成器表达式的滥用
- yii2.0 错误处理
- rails mysql查询_rails 对数据库的一些操作:新增,查询等
- php ffmpeg
- PowerJob 应对庞大任务的锦囊妙计:MapReduce
- Bailian4040 买书问题【Ad Hoc】
- 屏蔽五项网络功能 让XP系统极速狂飙
- ssh关闭终端切断SSH连接
- 支付宝小程序复制到剪贴板
- python入门之一运算符和表达式第二关:华氏度转摄氏度和进制转换
- Excel 生成均匀分布、正态分布随机数
- ultravnc download windows 7,ultravnc download windows 7软件的4大优势
- python编程求长方形的面积_Python实现计算长方形面积(带参数函数demo)
- Gartner 公布 2022 新兴技术成熟度曲线,这些技术趋势最值得关注
- word 排版大师1.36版本发布啦。
- 计算机组成原理大题速成,计算机组成原理大题