变相怪杰 发表于 2015-2-3 23:37:38

ASP教程之ASP与ActiveX控件交互实战(一)

使用cdonts,可以发送、查看邮件,实现webmail的功能。结合wsh,可以实现对nt主机的管理,如nt用户管理、iis虚拟主机设置、exchange邮箱设置等等,就像管理本地机一样方便。active|activex|交互|控件   龙卷风

关头字:ASP,ActiveX控件,数字签名,平安

ActiveX控件运转在客户端。咱们可以取得客户真个一些信息,如IC卡的信息,客户真个验证等等。然而ActiveX控件也有很多弱点:客户真个安排很坚苦,如客户端不克不及准确下载,下载了今后不克不及准确履行,下载的时分需求设置IE的平安级别等等。

更多的时分,我都在利用COM组件来扩大ASP的功效。正确地说,是办事端运转的Activex Dll组件。利用Server.CreateObject(“工程名.类名”)便可完成对组件的挪用。这类体例成绩很少,只需组件中以PUBLIC对外表露办法既可。然而,有时分咱们必需利用ACTIVEX 控件(*.OCX)嵌入到网页中履行来获得客户真个信息。这就有了许很多多的一些成绩。

这是咱们需求处理的N个成绩(从复杂到难)

1. 若何从办事端获得数据,传递到ActiveX控件中。

1) 初始化时利用参数绑定

2) 运转时失掉数据

2. ActiveX控件失掉客户真个信息,若何传递到办事端。

3. 平安性

1) 数字签名

2) 利用IOBJSAFE接口

好了,咱们入手下手实例进修。

这个功效演示了若何制造一个复杂的控件,并嵌入网页中履行。

任务情况:WINXP+VB6+IE6

我的IE平安设置为平安级别-中。一切的Activex选项设为启用。



翻开vb6,新建ActiveX控件工程。

工程名:fOcx,用户控件名:UC1

为了便利,咱们利用ActiveX控件接口导游…,菜单->外接法式->外接法式办理器->VB 6 ActiveX控件接口导游。肯定便可。



翻开ActiveX控件接口导游,下一步,关于可用称号和选命名称咱们默许下一步,新建自界说成员,GetInfo类型:属性,下一步,共无方法当选择咱们方才添加的GetInfo,映照到控件选择TxtInfo,成员选择Text,下一步直到完成。代码窗口中会生成一些咱们不需求的,删除,剩下的代码以下:

Option Explicit

'注重!不要删除或修正以下被正文的行!

'MappingInfo=txtinfo,txtinfo,-1,Text

Public Property Get GetInfo() As String

GetInfo = txtinfo.Text

End Property



Public Property Let GetInfo(ByVal New_GetInfo As String)

txtinfo.Text() = New_GetInfo

PropertyChanged "GetInfo"

End Property



'从存贮器中加载属性值

Private Sub UserControl_ReadProperties(PropBag As PropertyBag)



txtinfo.Text = PropBag.ReadProperty("GetInfo", "Text1")

End Sub



'将属性值写到存储器

Private Sub UserControl_WriteProperties(PropBag As PropertyBag)



Call PropBag.WriteProperty("GetInfo", txtinfo.Text, "Text1")

End Sub



OK,好了,咱们编译成fOcx.ocx文件,然后F5直接运转,VB会翻开一个测试页。以下:

E:\Program Files\Microsoft Visual Studio\VB98\UC1.html

同时,翻开你的IE阅读器,看到了吧,你做的控件呈现在了这个测试页中。

你可以翻开测试页,可以看到ClsID,好比:890D1028-298B-45CF-9A64-6ED5A5BACBC9



由于VB编译的时分已完成注册.所以没法摹拟客户端没有装置该控件时呈现的提醒.

咱们持续

利用regsvr32 F:\csdn_vb\com+_activeX\sample1\fOcx.ocx Cu卸载



翻开注册表,在HKEY_CLASSES_ROOT\CLSID上面找到

890D1028-298B-45CF-9A64-6ED5A5BACBC9项,删除之,固然这类体例还有项存在而没有删除洁净.



此时阅读http://yang/uc1.htm,因为IE中ActiveX设置为启动,所以,控件会显示出来。

下载后的ocx到哪里去了???

翻开该目次(能够有所分歧)E:\WINDOWS.0\Downloaded Program Files,看到了吧,fOcx.UC1文件在这个目次下.

道理:客户端下载该控件后,主动注册,然后放在上述这个目次下.这时候咱们可以翻开注册表看看CLSID,呵呵,仍是之前的谁人.

咱们可以右键看看fOcx.UC1的属性,看看相干内容,这里显示了该OCX所依附的一切文件.所以,你的OCX尽可能削减利用初级控件或第三方的控件,不然,下载就有些成绩了.



假如IE中关于ActiveX的选项设为禁用,那末阅读器就会呈现对话框”以后平安设置制止运转该页中的ActiveX控件.因而能够没法准确显示该页”,这个就需求其他的体例来处置了。

普通用户默许的都是禁用ActiveX选项,所以让用户本人设置不太适合。



未完待续

</p>asp对于服务器的要求较高,一般的服务器如果访问量一大就垮了,不得不重启。

变相怪杰 发表于 2015-2-4 03:54:53

学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:

老尸 发表于 2015-2-9 15:29:10

用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。

不帅 发表于 2015-2-19 07:19:36

封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。

小女巫 发表于 2015-2-28 19:46:01

Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件

愤怒的大鸟 发表于 2015-3-10 07:30:22

不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍

飘飘悠悠 发表于 2015-3-17 05:09:10

你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。

简单生活 发表于 2015-3-17 23:36:23

弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。

蒙在股里 发表于 2015-3-23 03:23:21

我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。

admin 发表于 2015-3-24 12:14:42

尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。

小魔女 发表于 2015-3-28 15:14:50

学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:

爱飞 发表于 2015-3-30 10:27:28

从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了

仓酷云 发表于 2015-4-10 06:18:57

我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.

若天明 发表于 2015-4-29 18:40:11

虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。

只想知道 发表于 2015-5-6 16:09:30

如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。

再见西城 发表于 2015-5-10 10:16:04

用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。

柔情似水 发表于 2015-7-12 11:17:23

我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。

莫相离 发表于 2015-7-13 02:29:39

ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。

冷月葬花魂 发表于 2015-7-28 23:45:10

封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。

乐观 发表于 2015-9-26 07:03:30

虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。
页: [1] 2
查看完整版本: ASP教程之ASP与ActiveX控件交互实战(一)