U8二次开发CO-基于Net8调用COM对象

以前没有碰过U8,只知道基于Net平台构建,本次业务需求是要把钉钉和U8打通,完成代办和消息提醒。网上搜索U8相关二开资料后发现,都是一些技术片段,零零碎碎的不成体系,也有可能是大客户都去U9或者Cloud了,老旧的8面临过气与替换(个人意见),遂边琢磨边做一些示例。

开始介绍U8的CO二次开发模式之前,先来了解一些基础知识,文末将提供对应的源代码示例包。

COM组件介绍

微软COM(Component Object Model,组件对象模型)是一种面向对象的编程模型,用于创建可重用的软件组件。COM 组件可以通过接口进行交互,这使得它们可以被不同的应用程序使用,无论这些应用程序是用什么编程语言编写的。COM 组件可以在同一进程内或不同进程之间进行通信,从而实现模块化、灵活性和互操作性。

以下是一些关于微软COM组件的关键概念:

  1. 接口(Interface):COM 组件通过接口定义其可用功能。接口是一组抽象方法的集合,用于描述组件提供的功能。客户端应用程序可以通过调用接口方法与组件进行交互。

  2. 类工厂(Class Factory):类工厂用于创建 COM 组件的实例。当客户端应用程序请求创建一个 COM 组件的实例时,类工厂会负责实例化组件并返回对该实例的引用。

  3. GUID(Globally Unique Identifier):每个COM接口和类都有一个唯一的标识符,称为GUID。GUID用于在运行时标识和查找接口和类。

  4. 注册表(Registry):COM 组件通常需要在系统注册表中注册其信息,以便客户端应用程序可以找到并与之交互。注册表包含有关组件的信息,如CLSID(Class Identifier)、ProgID(Programmatic Identifier)等。

  5. 封装性(Encapsulation):COM 组件提供了封装性,允许将实现细节隐藏在组件内部,只暴露必要的接口给外部应用程序。

  6. 版本兼容性(Versioning):COM 组件支持版本兼容性,允许不同版本的组件在同一系统中共存,并确保向后兼容性。

  7. 线程安全性(Thread Safety):COM 组件可以设计为线程安全的,以便在多线程环境中安全地使用。

通过使用COM,开发人员可以创建可重用、模块化的组件,提高代码的复用性和可维护性。COM 组件可以用于开发各种类型的应用程序,包括桌面应用(U8)、服务器应用、Web 应用等,并促进不同技术和平台之间的互操作性。使用COM技术就意味着只能在Windows平台上实现应用和开发,不具备跨平台特性。

COM组件常规C#

相关推荐

  1. U8开发CO-基于Net8调用COM对象

    2024-04-01 07:28:04       15 阅读
  2. MFC 调用.NET类库Com Dll,Activex Dll

    2024-04-01 07:28:04       41 阅读
  3. Upgrading GitHub.com to MySQL 8.0

    2024-04-01 07:28:04       31 阅读
  4. 基于Html+腾讯云播SDK开发的m3u8播放器

    2024-04-01 07:28:04       41 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-01 07:28:04       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-01 07:28:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-01 07:28:04       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-01 07:28:04       20 阅读

热门阅读

  1. 系统分析师-综合知识-应用数学与经济管理

    2024-04-01 07:28:04       21 阅读
  2. Qt和Boost::asio中的emit冲突

    2024-04-01 07:28:04       18 阅读
  3. Bug积累

    2024-04-01 07:28:04       14 阅读
  4. leetcode350-Intersection of Two Arrays II

    2024-04-01 07:28:04       15 阅读
  5. 天童美语:防患未然 安全同行

    2024-04-01 07:28:04       16 阅读
  6. 3DTiles讲解

    2024-04-01 07:28:04       12 阅读
  7. 设计模式-单例模式总结

    2024-04-01 07:28:04       14 阅读
  8. CF 937 G. Shuffling Songs

    2024-04-01 07:28:04       16 阅读
  9. [数据结构]oj二叉树的几道选择题

    2024-04-01 07:28:04       16 阅读
  10. git 创建空分支

    2024-04-01 07:28:04       16 阅读
  11. es创建索引(mapping和setting)

    2024-04-01 07:28:04       15 阅读