整理者 郑昀@UltraPower

利用以下assembly定义我们的组件在COM+中的注册方式,其中:

ApplicationName 属性是"COM+ 目录"和"组件服务管理"控制台中显示的 COM+ 应用程序的名称。

[assembly: ApplicationName("MyDLL.Interface")]

Description属性为"COM+ 目录"和"组件服务管理"控制台中的 COM+ 应用程序提供说明。

[assembly: Description("My Serviced Component")]

ActivationOption 属性指示是否在调用方的进程中激活组件。我们这里将 Activation.Option 设置为服务器,意即“组件将在专用服务器进程中被激活”。

[assembly:ApplicationActivation(ActivationOption.Server)]

ApplicationAccessControl属性设置访问管理和验证级别。这里我们设置:不对此应用程序强制进行访问权限检查;调用的身份验证级别为无;模拟级别为委派。

[assembly: ApplicationAccessControl(Value=false,

ImpersonationLevel=ImpersonationLevelOption.Delegate,

Authentication=AuthenticationOption.None)]

代码中实现了以上定义后,就可以简单地通过 
regsvcs MyDLL.DLL或者通过下面的类定义来注册我们的COM+组件,调用方法是: 
“string strComPlusDLLFilePath  = RootForumsDirectory + @"\bin\MyDLL.dll"; 
    UltraPower.InstallClassLib.InstallClassRegsvcs.Install(strComPlusDLLFilePath);” 
就可以免手工配置COM+应用了,省去了许多麻烦。

namespace UltraPower.InstallClassLib 

    public class InstallClassRegsvcs 
    { 
        public InstallClassRegsvcs() 
        { 
        } 
 
        Install 
 
    } 
}

[EnterpriseServices]利用assembly定义我们的组件在COM+中的注册方式相关推荐

  1. java使用重绘实现拖动_【Android】利用自己定义View的重绘实现拖动移动,获取组件的尺寸...

    以下利用一个app来说明怎样利用自己定义View的重绘实现拖动移动.获取组件的尺寸. 例如以下图,触摸拖动,或者轻轻点击屏幕都能移动图片.假设碰到文字,则会弹出提示. 这里是利用自己定义View的重绘 ...

  2. 【REACT NATIVE 系列教程之十三】利用LISTVIEW与TEXTINPUT制作聊天/对话框获取组件实例常用的两种方式...

    本站文章均为 李华明Himi 原创,转载务必在明显处注明:  转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/react-native/2346.html ...

  3. 汇编中的length(返回利用dup定义的数组中的元素个数,即重复操作符dup前的count值)

    LENGTH是属于析值操作符之一,也称为数值回送操作符,原因是这些操作符把一些特征或存储器地址的一部分作为数据返回.length的用法:length 变量名 .作用是返回利用dup定义的数组中的元素个 ...

  4. c语言 字符串数组末尾,C语言中,利用宏定义一个字符串和字符数组定义的字符串其末尾都会自动添加\0字符...

    利用宏定义一个字符串#define MYPHONE "AT+CMGS" 字符数组的方式来定义一个字符串unsigned char SMS[]="HELLO, WELCOM ...

  5. 「后端小伙伴来学前端了」Vue中利用全局事件总线实现组件之间通信

    月亮啊月亮 你能照见南边,也能照见北边 照见她,你跟她说一声,就说我想她了. 前言 前一篇文章写了 vue 中利用 Props 实现组件之间的通信,那种方式是最简单也是最基础的组件之间的通信方式.父组 ...

  6. c#利用宏定义调试代码

    #define 使用 #define 来定义符号. 将符号用作传递给 #if 指令的表达式时,该表达式的计算结果为 true,如以下示例所示: #define DEBUG 说明 #define 指令不 ...

  7. 利用malloc定义数组

    使用malloc方法时,应导入文件 #include<malloc.h> 1.利用malloc定义一维数组 int *num = (int *)malloc(sizeof(int)*8); ...

  8. MDK中利用宏定义__DATE__和__TIME__设置产品的代码固件版本

    文章目录 前言 一.__DATE__和__TIME__是什么? 二.使用步骤 1.引入库 2.参考代码 总结 前言 STM32开发中,利用宏定义的__DATE__和__TIME__设置产品的代码固件版 ...

  9. vue中在当前组件中定义的全局变量怎么在methods中使用_Vue原理解析(十):搞懂事件API原理及在组件库中的妙用...

    在vue内部初始化时会为每个组件实例挂载一个this._events私有的空对象属性: vm._events = Object.create(null) // 没有__proto__属性 这个里面存放 ...

最新文章

  1. 【数据结构】八大数据结构分类
  2. 构造方法、类的初始化块以及类字段的初始化顺序
  3. cgi+bin+php,crontab+php-cgi/php 定时执行PHP脚本
  4. CompletableFuture不能被打断
  5. 智商情商哪个重要_《所谓逆商高,就是心态好》:逆商,比情商和智商更重要...
  6. 【Windows】Windows10基于VMware安装CentOS7的全面教程
  7. 我的世界服务器开服文件夹,详细开服教程。想要自己开服的小伙伴儿 戳这里·...
  8. 【剑指Offer】15顺时针打印矩阵
  9. Windows免费录屏软件——captura
  10. 浅谈RS-485协议
  11. Ubuntu 9.04安装永中Office 2009
  12. linux防ddos攻击脚本,Linux IPTables防DDOS攻击Shell脚本
  13. 手把手完成智慧路灯的开发,完成设备上云【华为云IoT】
  14. How to recognise a good programmer
  15. 如何无线接收服务器封包,大大通|如何抓取802.11a/b/g/n/ac 的无线网络封包
  16. [flow] 1.Spyglass CDC
  17. 利用有道翻译Api实现英文翻译功能
  18. Python冲击省一蓝桥杯 DFS集锦
  19. Unity3d AssetBundle依赖关系获取
  20. CorelDraw2022新版来了 新版cdr功能介绍详情看这里

热门文章

  1. 淘金尖端领域:全球量子技术最新投资趋势
  2. 国际机器人联合会:全球工业机器人2019报告
  3. AI 芯片和传统芯片的区别
  4. 干货|一文全解深度学习中的卷积
  5. Windows 11 预览版泄露!有 macOS 那味儿了......
  6. 软件开发行业,年轻与大龄程序员的生存现状
  7. 太拼了:谷歌第一编程语言小白也能学会!
  8. window for jdk install
  9. 将object类型参数值传递给ObjectDataSource
  10. 构建富互联网应用程序监控工作流和流程(1)