• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > 使用VS2010 C#开发ActiveX控件(下),完整代码打包下载

使用VS2010 C#开发ActiveX控件(下),完整代码打包下载

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了vs2010 activex控件,vs2010 activex,c#开发activex控件,c#调用activex控件,vc调用c#activex控件等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
其实如果我们不进行设置,只是修改了代码,运行程序以后,其出错界面如下图1所示:

图1

抛出异常如下:

************** Exception Text **************

System.MethodAccessException: Attempt by security transparent method 'Rare.Card.Libary.Controls.

ReadCardControl.btnRead_Click(System.Object, System.EventArgs)' to call native code through method 'Rare.Card.Libary.MifareOneHelper.rf_read(Int32, Int32, Byte[])' failed. Methods must be security critical or

security safe-critical to call native code.

 

通过查阅MSDN,对异常的解释如下:

在 Microsoft .NET Framework 4 中,公共语言运行时 (CLR) 安全模型发生了不少变化。其中一项变化,即采用 Level2 透明性

(与 Silverlight 的安全模型非常相似)很可能影响 AllowPartiallyTrustedCallers (APTCA) 库的作者。透明性属性有三种:SecurityTransparent、SecuritySafeCritical 和 SecurityCritical。

 

SecurityTransparent:标记为 SecurityTransparent 的代码从安全性角度而言是可靠的。它不能完成任何危险操作,例如声明权限、

执行无法验证的代码或调用本机代码。它也不能直接调用 SecurityCritical 代码。

如上文所述,出于安全的考虑,所有部分受信任代码都强制为 SecurityTransparent。这也是 APTCA 库的默认透明性。

SecurityCritical:与 SecurityTransparent 不同,SecurityCritical 代码能够执行任何所需操作。它能够执行声明、

调用本机代码和其他操作。它能够调用其他方法,且不受透明性标记的限制。

只有完全受信任代码才能为 SecurityCritical。事实上,(非 APTCA)完全受信任代码默认情况下属于 SecurityCritical,

从而保护其免受透明的部分受信任调用方的调用。

SecuritySafeCritical:SecuritySafeCritical 代码起着桥梁的作用,它允许透明代码调用关键方法。SecuritySafeCritical

代码与 SecurityCritical 代码的权限相同,但它可由 SecurityTransparent 代码调用。因此,SecuritySafeCritical 代码必须以安全方式公开基础 SecurityCritical 方法(以避免一些部分受信任的恶意代码尝试通过 SecuritySafeCritical 层攻击这些方法),这一点极为重要。

与 SecurityCritical 代码一样,SecuritySafeCritical 代码必须完全受信任。

具体可以参考:

http://msdn.microsoft.com/zh-cn/magazine/ee336023.aspx

 

根据MSDN的解释,问题出在了封装原始Dll的C#类库CardReader.Library上,我们可以在代码级别设置透明性属性可以解决问题。

具体解决办法如下:
1. 设置ActiveX控件读卡代码的透明属性为:SecuritySafeCritical,设置以后的代码清单如下:
</div>

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 使用VS2010 C#开发ActiveX控件(下),完整代码打包下载
  • 使用VS2010 C#开发ActiveX控件(上)

相关文章

  • 2017-05-28杂谈try-catch-finally异常处理
  • 2017-05-28newtonsoft.json解析天气数据出错解决方法
  • 2017-05-28C#基于委托实现多线程之间操作的方法
  • 2017-05-28C#语言中的修饰符汇总
  • 2017-05-28C#抓取当前屏幕并保存为图片的方法
  • 2017-05-28VB.NET中Caching的使用方法
  • 2017-05-28C#实现操作windows系统服务(service)的方法
  • 2017-05-28浅析c#范型中的特殊关键字where & default
  • 2017-05-28npoi2.0将datatable对象转换为excel2007示例
  • 2017-05-28c#连接mdf文件示例分享

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C#编写DES加密、解密类
    • utf8编码检测方法分享
    • C#实现获取一年中是第几个星期的方法
    • WebService 的简单封装接口调用方法
    • C#查找素数实现方法
    • C#使用GDI绘制直线的方法
    • 浅谈C#中Md5和Sha1两种加密方式
    • TortoiseSVN使用教程
    • C#中添加窗口的步骤详解
    • C#中richtextbox使用方法详解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有