惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V2EX - 技术
V2EX - 技术
L
LangChain Blog
IT之家
IT之家
S
SegmentFault 最新的问题
博客园 - 三生石上(FineUI控件)
H
Hackread – Cybersecurity News, Data Breaches, AI and More
T
The Blog of Author Tim Ferriss
Blog — PlanetScale
Blog — PlanetScale
N
Netflix TechBlog - Medium
U
Unit 42
B
Blog RSS Feed
GbyAI
GbyAI
Microsoft Security Blog
Microsoft Security Blog
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
T
Threatpost
C
CERT Recently Published Vulnerability Notes
Cisco Talos Blog
Cisco Talos Blog
The Register - Security
The Register - Security
Vercel News
Vercel News
S
Schneier on Security
Spread Privacy
Spread Privacy
C
Cyber Attacks, Cyber Crime and Cyber Security
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
博客园 - 叶小钗
雷峰网
雷峰网
博客园_首页
人人都是产品经理
人人都是产品经理
P
Palo Alto Networks Blog
The Hacker News
The Hacker News
T
Tor Project blog
L
Lohrmann on Cybersecurity
Know Your Adversary
Know Your Adversary
D
Darknet – Hacking Tools, Hacker News & Cyber Security
C
Cybersecurity and Infrastructure Security Agency CISA
P
Privacy International News Feed
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tenable Blog
V
Vulnerabilities – Threatpost
大猫的无限游戏
大猫的无限游戏
博客园 - 【当耐特】
V
V2EX
Security Latest
Security Latest
A
About on SuperTechFans
Cloudbric
Cloudbric
S
Security Affairs
MongoDB | Blog
MongoDB | Blog
Y
Y Combinator Blog
Martin Fowler
Martin Fowler
TaoSecurity Blog
TaoSecurity Blog

博客园 - 夜帝

无进程木马 思路 [转] DateTime 日期操作 C#开发终端式短信的原理和方法 JavaScript实现功能全集 全国网络广播电台地址 转 C#调用Windows API函数 AJAX基础教程 C#一个显示分页页码类 C#实现窗体淡入淡出效果的几种方法 如何用C#语言构造蜘蛛程序 - 夜帝 - 博客园 C#冒泡排序算法 用Visual C#编写仿MSN Messager的滚动提示窗口 创建不规则窗体和控件 初识C#线程 JavaScript中文版(入门) C#日期函数所有样式大全 C#中的“装箱”(boxing)与“拆箱”(unboxing) .net 中随机数的产生 C#算法 -- (三)希尔排序
使用C#开发COM+组件
夜帝 · 2007-09-14 · via 博客园 - 夜帝

.NET技术是微软大力推广的下一代平台技术,自从.NET技术架构Beta2版本的正式发布,此项技术也逐渐走向成熟和稳定。按照微软的平台系统占有率,我们不难想象得到,在未来的一两年内.NET技术必定会势如破竹一般的登上主流的技术平台,而一个新的技术平台得以快速发展的最重要的前提是:他不会彻底的摒弃以前的技术,这一点对于.NET技术来说指的就是COM/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+应用程序名“