C#开发COM+组件
可以在.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+应用程序名“
来源:http://blog.csdn.net/21aspnet/article/details/1539808
加支付宝好友偷能量挖...