|
.NET技術(shù)是微軟大力推廣的下一代平臺(tái)技術(shù),自從.NET技術(shù)架構(gòu)Beta2版本的正式發(fā)布,此項(xiàng)技術(shù)也逐漸走向成熟和穩(wěn)定。按照微軟的平臺(tái)系統(tǒng)占有率,我們不難想象得到,在未來(lái)的一兩年內(nèi).NET技術(shù)必定會(huì)勢(shì)如破竹一般的登上主流的技術(shù)平臺(tái),而一個(gè)新的技術(shù)平臺(tái)得以快速發(fā)展的最重要的前提是:他不會(huì)徹底的摒棄以前的技術(shù),這一點(diǎn)對(duì)于.NET技術(shù)來(lái)說(shuō)指的就是COM/COM+技術(shù)了。
一般來(lái)說(shuō),在IT技術(shù)界以及硬件產(chǎn)業(yè),技術(shù)的更新?lián)Q代速度非常得驚人,而慣例是所有的新技術(shù)都會(huì)遵循向下兼容的原則,但是.NET技術(shù)不僅僅做到了這一點(diǎn),.NET甚至實(shí)現(xiàn)了相互之間的各自調(diào)用,這一點(diǎn)是非常難能可貴的。也就是說(shuō),不但我們可以在.NET組件中調(diào)用COM組件,同時(shí)也可以在COM組件中正常的調(diào)用.NET組件。這點(diǎn)帶來(lái)的好處是顯而易見(jiàn)的,一方面我們可以保持現(xiàn)有的技術(shù)資源,另一方面,在現(xiàn)有資源中可以利用.NET所帶來(lái)的各種新技術(shù)。
在E\ClassLibrary1\目錄下用SN命令生成一個(gè)GUID,如下所示:
sn –k keyfile.snk
在工程的AssemblyInfo.cs文件中加入如下語(yǔ)句:
[assembly: AssemblyKeyFile(@"e:\classlibrary1\keyfile.snk")]
作用是使這個(gè)工程文件創(chuàng)建的DLL文件擁有GUID(全球唯一標(biāo)識(shí)符),也就是擁有一個(gè)強(qiáng)名稱(strong name),這是COM+要求的。
CS的詳細(xì)代碼如下:
using System;
using System.Runtime.InteropServices;//為了調(diào)用GUID
using System.EnterpriseServices;//引用COM+的類
using System.Web.Services;
namespace ClassLibrary1
{
//如果不指定guid,每次都會(huì)隨機(jī)生成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+的管理服務(wù)器中創(chuàng)建一個(gè)COM+應(yīng)用程序,這里使用的方法是在DOS操作下,使用命令
regsvcs /c class1.dll MyCom “MyCom是要生成的COM+應(yīng)用程序名“
|
溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!