使用C#开发COM+组件
一般来说,在IT技术界以及硬件产业,技术的更新换代速度非常得惊人,而惯例是所有的新技术都会遵循向下兼容的原则,但是.NET技术不仅仅做到了这一点,.NET甚至实现了相互之间的各自调用,这一点是非常难能可贵的。也就是说,不但我们可以在.NET组件中调用COM组件,同时也可以在COM组件中正常的调用.NET组件。这点带来的好处是显而易见的,一方面我们可以保持现有的技术资源,另一方面,在现有资源中可以利用.NET所带来的各种新技术。
在E/ClassLibrary1/目录下用SN命令生成一个GUID,如下所示:
sn –k keyfile.snk
在工程的AssemblyInfo.cs文件中加入如下语句:
[assembly: AssemblyKeyFile(@"e:/classlibrary1/keyfile.snk")]
作用是使这个工程文件创建的DLL文件拥有GUID(全球唯一标识符),也就是拥有一个强名称(strong name),这是COM+要求的。
CS的详细代码如下:
using System;
using System.Runtime.InteropServices;//为了调用GUID
using System.EnterpriseServices;//引用COM+的类
using System.Web.Services;
namespace ClassLibrary1
{
//如果不指定guid,每次都会随机生成CLSID
[Guid("539448DE-9F3B-4781-A1F6-F3C852091FC9")]
public interface ISharpObject2
{
string Name //Property: Name, Get/Set
{
get;
set;
}
void Test();
}
public class Class1: ServicedComponent,ISharpObject2
{
public Class1()
{
//
// TODO: Add constructor logic here
//
}
private string m_strName;
public string Name //Property: Name, Get/Set
{
get { return m_strName; }
set { m_strName = value; }
}
public void Test(){}
}
}
生成DLL文件后可以有3种方法,在COM+的管理服务器中创建一个COM+应用程序,这里使用的方法是在DOS操作下,使用命令
regsvcs /c class1.dll MyCom “MyCom是要生成的COM+应用程序名“
使用C#开发COM+组件相关推荐
- 038——VUE中组件之WEB开发中组件使用场景与定义组件的方式
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...
- UI组件库从1到N开发心得-组件篇
正文 距离第一篇UI组件库文章发布已经过去3个月了,在此期间利用零零散散的时间持续更新owl-ui组件库,目前owl-ui移动端组件库已经更新3大类(基础.表单.弹出层)9种组件(Button.Tab ...
- 安卓开发.四大组件.activity.1
安卓开发.四大组件.activity.1 转载于:https://www.cnblogs.com/motadou/p/3534056.html
- npm run dev报错_React + TypeScript 从零开发Popup组件并发布到 npm
上篇文章中介绍了如何从 0 到 1 搭建一个 React 组件库架子,但为了一两个组件去搭建组件库未免显得大材小用. 这次以移动端常见的一个组件 Popup 为例,以最方便快捷的形式发布一个流程完整的 ...
- 疯狂连连看之开发游戏界面组件一
疯狂连连看之开发游戏界面组件一 开发游戏界面组件 本游戏的界面组件采用了一个自定义View:GameView,它从View基类派生而出,这个自定义View的功能就是根据游戏状态来绘制游戏界面上的全部方 ...
- SpringCloud分布式开发五大组件详解
SpringCloud分布式开发五大组件详解 https://blog.csdn.net/weixin_40910372/article/details/89466955 服务发现--Netflix ...
- HarmonyOS开发-路由组件体验
这是一款简单的,支持在单品.组件化.插件化等环境下使用的路由框架,通过一行url去指定打开指定页面Ability的框架.充分做到页面间解耦, 自动化:可自动解析标准url参数 . 安全: 路由启动过程 ...
- Vue项目首页-开发周末游组件(7-7)
开发周末游组件 <template><div><div class="title">周末去哪</div><ul>< ...
- 前端开发中组件化的优点
前端开发中组件化的优点 解耦的思想,函数封装到组件内部执行 模块化,代码清晰,易于维护,迭代更新 复用性高 屏蔽逻辑,可以迅速定位问题
- 微信小程序自定义组件开发即组件间通信详解
自定义组件开发 1.我的工程目录 pages components 自定义组件 2.定义一个组件名称为toast(目录下文件与页面开发一样.js .wxml .wxss .json文件) 在自定义组件 ...
最新文章
- call ret指令的总结
- PHP复制和移动目录
- Ubuntu通过路由器上网的配置
- 【组合数学】指数型母函数 应用 ( 多重集排列问题 | 不同球放在不同盒子里 | 奇/偶数序列的指数生成函数推导 )
- 实战|全程分析js到getshell
- 【NC30】缺失的第一个正整数
- MUI tab选项卡之间的切换和数据获取
- gitee图床不能用了,心态崩了
- 数据库简介(python 版)
- 如何快速上手 angular.js
- 圣思园java se培训总结(58-)(java1.5新特性,可变参数,包装类)
- 二元函数求最小值 c语言,最小二乘法及C语言实现
- SSDP,简单服务发现技术
- 痱子和湿疹的区别在哪里?
- 阿里云服务器升级配置教程(升级实例、配置、带宽、购买并挂载硬盘)
- Factor Graphs and GTSAM
- A005:查找文件之find, locate, whereis, which, type
- 【中文】【吴恩达课后编程作业】Course 4 - 卷积神经网络 - 第二周作业
- 智慧校园电子班牌系统开发 整套商业源码
- 与500+CTO深度交流,一起探寻技术领导力的魅力!
热门文章
- php png jpg,php如何将png转换成jpg-PHP问题
- linux内核 机器码,u-boot与Linux内核机器码问题
- greenplum 数据库如何增加列_Greenplum行存与列存的选择以及转换方法-阿里云开发者社区...
- qgis修复拓扑错误_深度 | QGIS开发与发布规则解析
- php 面试mysql,mysql中优化必读
- 1命名规则 sentinel_Spring Cloud Alibaba 整合 Sentinel 流控
- php打印出来乱码_PHP输出中文乱码的解决方法(转载)
- PCL基础1:点云数据结构
- 基于视频理解TSM和数据集Kinetics-400的视频行为识别
- 树莓派 SyntaxError: invalid syntax(python错误)