人妻夜夜爽天天爽三区丁香花-人妻夜夜爽天天爽三-人妻夜夜爽天天爽欧美色院-人妻夜夜爽天天爽免费视频-人妻夜夜爽天天爽-人妻夜夜爽天天

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

如何把ASP編寫成DLL

admin
2010年7月3日 14:7 本文熱度 6986
這篇文章主要是把a(bǔ)sp代碼變成組件,開發(fā)者不僅是加快了asp的速度,而且也能保護(hù)自己的代碼. [br][br] 下面,我們會(huì)來(lái)編寫一個(gè)非常簡(jiǎn)單的組件,重點(diǎn)是知道怎樣開發(fā)dll組件,而不是其復(fù)雜的代碼!這些都要靠你們自己以后的努力了. [br][br]服務(wù)器端組件 [br] 首先,服務(wù)器端的組件要有別于客戶端的組件.客戶端的組件是通過網(wǎng)絡(luò)傳輸,依靠html來(lái)起作用.而且只能在ie上有用.但是服務(wù)器端的組件是運(yùn)行在服務(wù)器端,它在服務(wù)器上執(zhí)行各種操作.因此,所有的瀏覽器都能享用,它依靠的是服務(wù)器而不是瀏覽器. [br][br] 當(dāng)iis被請(qǐng)求執(zhí)行一個(gè)asp程序,它首先會(huì)在asp文件中找到 <% %>標(biāo)簽之間的代碼,并且執(zhí)行它(也可以是之間的代碼).如果這個(gè)asp程序在先前被調(diào)用過,那么它就會(huì)用內(nèi)存中的編譯過的程序來(lái)向用戶返回html代碼,如果沒有,那么它就重新編譯.這里asp就比cgi多一點(diǎn)速度優(yōu)勢(shì),因?yàn)閏gi是每一個(gè)請(qǐng)求都使用一個(gè)線程.這樣就大大消耗了服務(wù)器的資源. [br][br] 想不想你寫的程序自己就能在iis運(yùn)行!?!現(xiàn)在你就行了!使用vb5(當(dāng)然現(xiàn)在是vb6了),你就能建立dynamic linked libraries (dll 文件),它能在iis上直接運(yùn)行(如果有asp文件來(lái)請(qǐng)求的話). [br][br]系統(tǒng)和軟件的要求 [br] 你需要一個(gè)32位的操作系統(tǒng)來(lái)運(yùn)行asp.當(dāng)然你也得安裝iis或pws.我們下面的程序是windows95+pws+vb5的環(huán)境下開發(fā)的. [br][br]我們開始吧 [br] 啟動(dòng)你的vb,選擇activex圖標(biāo).這個(gè)圖標(biāo)可以在新建工程找到!vb會(huì)提供一個(gè)默認(rèn)的工程名(project1)和類名(class1).我們會(huì)將這兩個(gè)名字都改掉.在改名之前,請(qǐng)首先確認(rèn)我們擁有microsoft active server pages object library,它在我們的程序非常有用.從菜單中選擇"工程",然后在其中選擇"引用",就會(huì)出現(xiàn)"引用"窗口 [br]從中選擇microsoft active server pages object library. [br][br]給工程和類命名 [br] 現(xiàn)在我們來(lái)根據(jù)自己的愛好來(lái)為project1和class1來(lái)命名吧!給它們命名也是很重要的,我們以后會(huì)用這個(gè)工程名和類名來(lái)創(chuàng)建這個(gè)組件的實(shí)例!后面詳細(xì)介紹. [br][br]如何改名,我就不想多說(shuō)了! 我們的工程名改為exmaple,類名為helloword [br][br]怎樣使用工程和類 [br] 現(xiàn)在我們有了我們自己的工程(example1)和類名(helloworld).以后我們就會(huì)在asp代碼中使用它們的名字來(lái)引用這個(gè)組件.在asp中我們就這樣引用,如下: [br]
set objreference = server.createobject("projectname.classname")[br]對(duì)于我們工程的引用就是: [br]
set objreference = server.createobject("example1.helloworld")[br] 現(xiàn)在我們就能用objreference來(lái)調(diào)用我們?cè)诮M件中所創(chuàng)建的函數(shù),子程序.下面我們會(huì)來(lái)寫一個(gè)sayhello的子程序, 我們執(zhí)行它的代碼如下: [br]
<% [br]set objreference = server.createobject("example1.helloworld") [br]objreference.sayhello [br]%>[br]為了在helloword類中使用asp的方法,你必須在此類中寫一個(gè)onstartpage 子函數(shù).如下: [br]
public sub onstartpage(passedscriptingcontext as scriptingcontext) [br]set myscriptingcontext = passedscriptingcontext [br]end sub[br] 現(xiàn)在,無(wú)論什么時(shí)候用戶訪問一個(gè)帶有本組件的asp文件,iis就會(huì)把scriptingcontext傳送給我們的對(duì)象請(qǐng)我們使用.這個(gè)scriptingcontext包括了全部的asp方法和屬性.實(shí)現(xiàn)上,這使得我們有能力訪問所有asp的對(duì)象.看下面的代碼: [br]
public sub onstartpage(passedscriptingcontext as scriptingcontext) [br]  set myscriptingcontext = passedscriptingcontext [br]  set myapplication = myscriptingcontext.application [br]  set myrequest = myscriptingcontext.request [br]  set myresponse = myscriptingcontext.response [br]  set myserver = myscriptingcontext.server [br]  set mysession = myscriptingcontext.session [br]end sub[br] 以后我們就能用在vb中用myapplication 來(lái)代替asp中的application,同理可以代替request,server.....,不過我們來(lái)是要在 onstartpage之前來(lái)申明這些變量: [br]
private myscriptingcontext as scriptingcontext [br]private myapplication as application [br]private myrequest as request [br]private myresponse as response [br]private myserver as server [br]private mysession as session使用asp的對(duì)象 [br] 我們的變量現(xiàn)在就能像標(biāo)準(zhǔn)的asp對(duì)象來(lái)使用了!比如,我們經(jīng)常在asp中用request.form()來(lái)收集提交表單的數(shù)據(jù).現(xiàn)在我們?cè)谖覀兊膙b中實(shí)現(xiàn)這個(gè)功能,代碼如下: [br][br]用asp中實(shí)現(xiàn): [br]
<% [br]mytempvariable = request.form("username") [br]response.write ("you entered "& mytempvariable & "as your user name") [br]%>[br]在vb中實(shí)現(xiàn): [br]
mytempvariable = myrequest.form("username") [br]myresponse.write ("you entered "& mytempvariable & "as your user name")[br] 通過使用myresponse來(lái)代替response,我們能夠使用所有response的方法,當(dāng)然,myresponse這個(gè)名字可以隨便來(lái)取,你甚至可以就取response. 另一件我們得注意的是,我們得在我們的建立的類中,寫上onendpage子函數(shù),這個(gè)onstartpage是相反的!onstartpage是創(chuàng)建對(duì)象,onendpage是消毀對(duì)象. [br]
public sub onendpage() [br]  set myscriptingcontext = nothing [br]  set myapplication = nothing [br]  set myrequest = nothing [br]  set myresponse = nothing [br]  set myserver = nothing [br]  set mysession = nothing [br]end sub[br]sayhello方法 [br] 我們來(lái)建立一個(gè)子函數(shù),用于顯示"holle world".這個(gè)sayhello方法只是helloworld這個(gè)類中一個(gè)子函數(shù),我們以后會(huì)在asp中用以下的顯示這個(gè)方法 [br]
<% [br]set objreference = server.createobject("example1.helloworld") [br]objreference.sayhello [br]%>[br]sayhello的程序,很簡(jiǎn)單的! [br]
public sub sayhello() [br] myresponse.write ("hello world") [br]end sub[br] 現(xiàn)在一個(gè)小型的組件編寫完成,剩下的工作就是編譯這個(gè)組件,在"工程"菜單中保存它,取什么名字都可以,我們用exmaple1.vbp吧! 然后就用在菜單中選擇"make exmaple1.dll",將其編譯成dll文件.一個(gè)組件就真正完成了! [br][br]注意,編譯了此組件那么你就得先把你的pws關(guān)掉,然后再編譯此組件.否則vb就會(huì)告訴你些組件在使用中. [br][br]在asp中使用我們的自己的組件. [br] 當(dāng)你更正了在編譯中的錯(cuò)誤,成功地編譯了example1這個(gè)工程,現(xiàn)在你就得拿出你最喜歡的html編輯器來(lái)寫下下面的語(yǔ)句,保存為asp文件. [br]
[br] [br]example 1 [br] [br][br] [br][br]<% [br]set objreference = server.createobject("example1.helloworld") [br]objreference.sayhello [br]%> [br][br] [br][br]運(yùn)行后即可看到結(jié)果: [br]
hello world[br]注冊(cè)組件 [br] 如果你想和你的朋友,鄰居分享你的組件,那么你就得在你的系統(tǒng)上注冊(cè)你的組件.我們一般使用regsvr32.exe來(lái)注冊(cè)組件.注冊(cè)后你的組件會(huì)出現(xiàn)在win95/win98的windows/system目錄中.下面是一個(gè)注冊(cè)的例子: [br]
regsvr32.exe c:/wwwroot/example1/example1.dll[br]在你的系統(tǒng)中,vb會(huì)自動(dòng)給你注冊(cè),所以你很少用到regsvr32.exe [br]我們這里只是寫了一個(gè)非常小的組件,你們可以寫好自己的更大的組件,而且還可以用vb中的很多控件. [br]讓我們用組件來(lái)擴(kuò)展我們的程序的功能吧!也希望多多的看到我們中國(guó)人的組件。

該文章在 2010/7/3 14:07:22 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 精品久久久久久日韩字幕无 | 亚洲欧美日韩视频高清专区 | 久久男人av资源网站无码 | 色狠狠色狠狠综合天天 | 99久久人妻无码精品系列 | A片A三女人久久7777 | 欧美日韩免费一区二区三区 | 日本高清不卡中文字幕视频 | 国产成人国拍亚洲精品 | 国产一区二区美女自卫 | 中国一级特黄毛片又大又粗的 | 亚洲一区二区三区免费看 | 涩涩琪琪丁香久久综合 | 99久久精品无码一区二区毛片免费 | 日本高清色片 | 国产精品伦理 | 欧美xxxxx九色视频免费观看 | 成人免费网在线播放免费观看 | 99久久免费精品视频在线观看 | 2024年日本高清一卡二卡三卡四卡 | 伊人影视tuunwacom | 女人色极品影院 | 国产99久久久国产精品~~牛 | 人妻水蜜桃成熟 | 99久久久无码国产aaa精品v精 | 无码成人午夜在线观看 | 亚洲欧美一区二区 | xxxx黑人与亚洲 | 国产99久60在线视频 | 精品无码国产自产在线观看极品 | 二区日本成人动漫电影 | 国产精品女 | 91中文字幕午夜福利亚洲天堂成人国产 | 亚洲国产青草衣衣一二三区 | 亚洲无人区码一二三码区别图片 | 日本aaaa视频 | 亚洲国产成人精品无码区在线观 | 国产精品一区二区精品视频观看 | 亚洲自拍中文字幕 | 国产精品成aⅴ人片在线观看 | 亚洲另类春色国产精品 |