人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

ASP與ActiveX控件交互實戰(一)

ASP與ActiveX控件交互實戰(一)

更新時間:2022-07-11 文章作者:未知 信息來源:網絡 閱讀次數:

龍卷風

關鍵字: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 –u卸載

或者

打開注冊表,在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選項,所以讓用戶自己設置不太合適。



未完待續

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 新巴尔虎左旗| 南雄市| 宜兰市| 甘孜| 盐边县| 锡林浩特市| 鄱阳县| 巧家县| 镇坪县| 屯昌县| 邵东县| 汨罗市| 忻州市| 电白县| 上饶市| 阿拉尔市| 北川| 藁城市| 高要市| 广西| 方城县| 兴安盟| 茌平县| 外汇| 长垣县| 普安县| 白沙| 盐城市| 宜阳县| 云浮市| 潼关县| 高陵县| 屏东市| 石家庄市| 明溪县| 永新县| 蒙城县| 武夷山市| 鱼台县| 潮安县| 桐庐县|