使用C#开发COM+组件
2001-11-01 09:38
1211 查看
.NET技术是微软大力推广的下一代平台技术,自从.NET技术架构Beta2版本的正式发布,此项技术也逐渐走向成熟和稳定。按照微软的平台系统占有率,我们不难想象得到,在未来的一两年内.NET技术必定会势如破竹一般的登上主流的技术平台,而一个新的技术平台得以快速发展的最重要的前提是:他不会彻底的摒弃以前的技术,这一点对于.NET技术来说指的就是COM/COM+技术了。
一般来说,在IT技术界以及硬件产业,技术的更新换代速度非常得惊人,而惯例是所有的新技术都会遵循向下兼容的原则,但是.NET技术不仅仅做到了这一点,.NET甚至实现了相互之间的各自调用,这一点是非常难能可贵的。也就是说,不但我们可以在.NET组件中调用COM组件,同时也可以在COM组件中正常的调用.NET组件。这点带来的好处是显而易见的,一方面我们可以保持现有的技术资源,另一方面,在现有资源中可以利用.NET所带来的各种新技术。
在E/ClassLibrary1/目录下用SN命令生成一个GUID,如下所示:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
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+应用程序名“
一般来说,在IT技术界以及硬件产业,技术的更新换代速度非常得惊人,而惯例是所有的新技术都会遵循向下兼容的原则,但是.NET技术不仅仅做到了这一点,.NET甚至实现了相互之间的各自调用,这一点是非常难能可贵的。也就是说,不但我们可以在.NET组件中调用COM组件,同时也可以在COM组件中正常的调用.NET组件。这点带来的好处是显而易见的,一方面我们可以保持现有的技术资源,另一方面,在现有资源中可以利用.NET所带来的各种新技术。
在E/ClassLibrary1/目录下用SN命令生成一个GUID,如下所示:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
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+组件
- 使用C#开发COM+组件
- 使用C#开发COM+组件
- 使用C#开发COM+组件
- 使用C#开发COM+组件
- 使用C#开发COM+组件
- 使用C#开发COM+组件
- 使用C#开发COM+组件
- 使用C#开发COM+组件
- 使用C#开发COM+组件
- 使用C#开发COM+组件
- 使用ASP调用C#写的COM+组件
- C#开发COM+组件和ActiveX控件
- asp.net(c#)开发中的文件上传组件uploadify的使用方法(带进度条)
- ASP.NET,C#.NET 通用权限系统组件源码使用说明,程序开发的尚方宝剑,程序架构标准参考,程序开发必备知识
- ASP.NET,C#.NET 通用权限系统组件源码使用说明,程序开发的尚方宝剑,程序架构标准参考,程序开发必备知识
- C#开发之控制台程序使用log4net日志组件
- C#使用Xamarin开发可移植移动应用终章(11.获取设备信息与常用组件,开源一个可开发模版.)
- N-Tiers开发方式(如何使用VB.NET撰写COM+组件)
- 用C# 开发COM+ 组件