Net下,如何通过Com组件实现自己实现事务

原创 2016年05月30日 13:38:29
1、添加对dll System.EnterpriseServices引用,并且在程序的头部使用using System.EnterpriseServices;引入命名空间。

2、书写抽象类,public abstract class TransactionControllerBase:ServicedComponent ,该类类要从ServicedComponent继承

3、集成基类TransactionControllerBase,实现自己的事务类,并在类上增加 [Transaction(TransactionOption.Required)],以启用事务

    以下就是一个实现类,其他类似,也要定义自己的接口。

    /// <summary>
    /// 需要事务的事务控制器
    /// </summary>
    [ProgId("RequireTransaction")]
    [Guid("E42F5FFF-823B-4F20-AE80-B13A3C991113")]
    [Transaction(TransactionOption.Required)]
    public sealed class RequireTransaction:TransactionControllerBase
    {
        public RequireTransaction() { }
    }

4、修改AssemblyInfo.cs文件
[assembly: ComVisible(true)]
[assembly:AssemblyKeyFileAttribute("..//..//Enterprise.snk")]//强命名,snk文件在项目的根目录,可以与别的类库共用一个snk文件

5、如果是类库项目,该类库所生成的dll必须是强命名的,所以可以使用VS自带的SN(Strong Name)工具,生成签名秘钥。

在vs.net2005自带的 命令行工具(不使用自带的工具要对环境变量进行配置)

sn -k 路径/Enterprise.snk

路径就是项目所在的绝对路径

也可以使用类库项目的属性对话框的签名属性来生成强命名的dll,效果一样的。


6、把dll.注册到.Net Framework,注册的必须使用管理员的权限,否则注册会失败。

regsvcs 路径/*.dll

此路径必须是完成路径

7、现在就可以在Web Form或者MVC中调用了,引用.dll文件,实例化类,正常使用。

好了,这是第一篇文件,把自己的写代码的步骤记录下来,以备后查。





C#开发COM组件

1.    概述       Microsoft在解决和以往的COM和SDK开发技术之间的互操作性(Interoperability)方面做了很多的工作,其中包括COM和.NET对象之间的相互调用以及...
  • soudog
  • soudog
  • 2007年04月30日 15:18
  • 10537

一个简单的com组件的实现

1.什么是com  com是微软公司为了计算机工业的软件生产更加符合人类的行为方式开发的一种新的软件开发技术。在COM构架下,人们可以开发出各种各样的功能专一的组件,然后将它们按照需要组合起来,构成复...
  • zhuxiufenghust
  • zhuxiufenghust
  • 2010年10月13日 17:43
  • 2419

怎样使用OneNote的COM组件,来实现OCR功能?下面详解

背景   在业务系统开发的过程中,很多情况下会去识别图片中的相关信息,并且把信息录入到系统中。现在希望通过自动化的方式录入,就有了以下的工作。在对比了几个OCR软件在中文识别方面的准确率后,决定使用...
  • dsffgfg
  • dsffgfg
  • 2016年08月31日 17:50
  • 722

C++ COM组件编写初探

最近在学习COM,自己实现了一个小Demo,拿出来和大家分享一下。求各种批评。 我实现的这个组件向外提供了一个接口ICompTest,里面只有一个函数helloworld(),功能为返回一个整数...
  • shejiannan
  • shejiannan
  • 2014年05月20日 17:41
  • 912

.NET1.1下,使用C#自动生成Word2003文档(通过操作COM组件实现)

做了一个多月的C#生成Word文档的工作,我从一开始的对这个一窍不通,到现在的顺利完成了这个功能模块,其中还是有点心得的。想想自己说不定以后还会用到,于是想吧这些心得写下来,以供自己以后的学习。同时也...
  • humingyan
  • humingyan
  • 2007年06月25日 13:21
  • 1658

用c++实现com组件示例

 1、 创建一个win32  dll应用类型项目工程。2、  添加ComTest.h及ComTest.cpp文件,并在ComTest.h头文件包含Unknwn.h头文件3、  用guid.exe生成一...
  • wxtsmart
  • wxtsmart
  • 2008年09月27日 16:35
  • 5296

NET组件和COM组件之间的相互操作

NET组件和COM组件之间的相互操作 .NET组件和COM组件之间的相互操作日期:2001-10-18 19:29:00出处:技术巅峰 作者:技术巅峰...
  • aiwtu
  • aiwtu
  • 2006年11月22日 11:15
  • 1293

如何创建COM组件能够调用的.NET装配件

前言:    .NET中的代码是不能够直接被COM组件使用的,为了能够在COM组件中使用.NET的代码生成的组件,我们需要创建一个相当于代理的中间介质,它叫做可调用COM包装器(COM callabl...
  • storm97
  • storm97
  • 2003年09月24日 20:31
  • 1239

NET中如何引用COM组件

如果您是初次学习.NET,说不定会尝试着去学习怎样使用COM组件,为了让您少走弯路,我把我所遇到的问题写下来,与大家共享。同时也希望与您一起交流,共同提高。联系方式:电话:0571-88021712 ...
  • lvboliang
  • lvboliang
  • 2007年06月05日 21:15
  • 1242

.NET调用Com组件事例

在程序设计中,往往通过键盘的某个按键来完成相关操作!  下面就来说明如何实现: 1.引入名称空间;using System.Runtime.InteropServices;(由于使用到API(user...
  • shizhiyingnj
  • shizhiyingnj
  • 2007年02月11日 23:23
  • 7262
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Net下,如何通过Com组件实现自己实现事务
举报原因:
原因补充:

(最多只允许输入30个字)