av网站免费线看精品_国产做a爱视频免费不_深爱激情网开心五月天_伊人五月天在线视频网

 
使用ASP常見問題解答
發(fā)布時間:2005-01-27   瀏覽次數(shù):1198892
作者:林子文章來源:http://www.chinaasp.com問題:如何保護(hù)自己的ASP源代碼不泄露?   答:下載微軟的Windows Script Encoder,對ASP的腳本和客戶端javascript、VBScript腳本進(jìn)行加密。客戶端腳本加密后,只有IE5以上的版本才能執(zhí)行,服務(wù)器端腳本加密后,只有服務(wù)器上安裝有Script Engine 5(裝IE5即可)才能解釋執(zhí)行。   問題:為什么Global.asa文件總是不起作用?   答:只有把Global.asa文件放在Web發(fā)布目錄某個站點(diǎn)的根目錄下它才有效,放在發(fā)布目錄的某個子目錄下不起作用。另外,也可以使用IIS4的Internet Service Manager把某個子目錄設(shè)置為站點(diǎn)。   問題:為什么ASP文件總不解釋執(zhí)行?   答:在IIS服務(wù)器上沒有給ASP文件以腳本解釋的權(quán)限,所以ASP文件沒有被Web服務(wù)器作為腳本代碼進(jìn)行解釋執(zhí)行,而被當(dāng)成一般頁面文件了。建議在Web發(fā)布目錄中建立一個ASP目錄,把所有ASP文件存放在此目錄下,把ASP目錄賦予腳本解釋權(quán)限。   問題:ASP文件中使用Response.Redirect(url) 時導(dǎo)致錯誤“ The HTTP headers are already written to the client browser. Any HTTP header modifications must be made before writing page content”,請問如何解決?   答:此錯誤為HTTP 標(biāo)題在寫入頁內(nèi)容之后,寫到了客戶瀏覽器中。任何 HTTP 標(biāo)題的修改必須在寫入頁內(nèi)容之前進(jìn)行,解決的方法為在ASP文件最開頭加入Response.Buffer = True,在文件的結(jié)尾加入Response.Flush。   問題:為什么Session 有時候會消失?   答:Session很像臨時的Cookie,只是其信息保存在服務(wù)器上(客戶機(jī)上保存的是SessionID)。Session變量消失有幾種可能,如:使用者的瀏覽器不接受Cookie,因?yàn)镾ession依賴于Cookie才能跟蹤用戶;Session在一段時間后過期了,缺省為分鐘,如果希望更改,可以通過設(shè)置Microsoft Management Console的Web Directory→Properties→Virtual Directory→Application Settings→Configuration→App Options→Session Timeout選項(xiàng)來改變Session的超時時間,也可以在ASP腳本中設(shè)定, 如Session.Timeout=60,可設(shè)定超時時間為60分鐘。   問題:怎樣才能知道訪問者的一些信息?   答:通過Request.ServerVariables(″HTTP—USER—AGENT″)獲得訪問者瀏覽器的類型; Request.ServerVariables(″REMOTE—ADDR″)可獲得訪問者的IP地址;而訪問者的語言環(huán)境可通過Request.ServerVariables(″HTTP—ACCEPT—LANGUAGE″)來獲得。   問題:怎樣才能將Query String從一個ASP文件傳送到另一個ASP文件?   答:前一個ASP文件加入下列代碼:Response.Redirect(″second.asp?″ & Request.ServerVariables(″QUERY—STRING″))即可。   問題:ASP中如何控制Cookies?   答:若想寫入Cookies可用:Response.Cookies(″待寫入的Coookies名稱″)=待寫入數(shù)據(jù)。讀取Cookies則使用:讀取數(shù)據(jù)=Request.Cookies(″待讀的Cookies名稱″)。   注意,寫入Cookies的Response.Cookies程序段必須放在〈html〉標(biāo)記之前,且不可以有任何的其它html代碼。另外,Cookies中必須使用Expires設(shè)定有效期,Cookies才能真正地寫入客戶端硬盤中,否則只是臨時的。   問題:怎樣實(shí)現(xiàn)用ASP發(fā)送郵件?   答:用戶需裝上Windows NT Option pack的SMTP Service功能。實(shí)現(xiàn)代碼如下:〈%   Set mail = Server.CreateObject(″CDONTS.NewMail″)   mail.TO = ″abc@xxx.com″   mail.From = ″yourmail@xxx.com″   mail.Subject = ″主題″   mail.Body = ″E-Mail內(nèi)容″   mail.Send  。ァ   問題:ASP與數(shù)據(jù)庫連接一定要在服務(wù)器端設(shè)置DSN嗎?   答:不一定, ASP與服務(wù)器的數(shù)據(jù)庫連接有兩種方法,一種為通過DSN建立連接,另一種不用DSN建立連接。通過DSN連接數(shù)據(jù)庫需要服務(wù)器的系統(tǒng)管理員在服務(wù)器的控制面板中的ODBC中設(shè)置一個DSN。如果沒有在服務(wù)器上設(shè)置DSN,只要知道數(shù)據(jù)庫文件名(比如Access、Paradox、FoxPro的數(shù)據(jù)庫)或者數(shù)據(jù)源名(如SQLserver的數(shù)據(jù)庫)可以訪問數(shù)據(jù)庫,直接提供連接所需的參數(shù)即可。   連接代碼如下:   set conn=server.createobject(″adodb.connection″)   connpath=″DBQ=″ & server.mappath(″yourtable.mdb″)   conn.Open ″DRIVER={Microsoft Access Driver (.mdb)}; ″ & connpath   set rs=conn.execute(″select  from authors″)   問題:如何從一頁到另一頁傳遞變量?   答:用Hidden表單類型來傳遞變量。   〈 form method=″post″ action=″mynextpage.asp″〉   〈% for each item in request.form %〉   〈input namee=″〈%=item%〉″ type=″Hidden″   value=″〈%=server.HTMLEncode(Request.form(item)) %〉″〉   〈% next %〉   〈/form〉   用Session來保存變量。   〈%Session(″bh″)= request.form (″bh″)%〉   用QueryString保存變量。   〈a herf=″action.asp?bh=10″〉查詢〈/a〉   〈%Request. QueryString (″bh″)%〉   問題:如何用ASP實(shí)現(xiàn)在線人數(shù)統(tǒng)計?   答:在線人數(shù)是指一個時段內(nèi)的訪客人數(shù)統(tǒng)計,時間的長短是由設(shè)計者設(shè)定的。   在這個時段內(nèi),各個不同IP訪問本站點(diǎn)的總數(shù),是當(dāng)前的線上人數(shù)。在ASP中,使用Session對象來實(shí)現(xiàn)統(tǒng)計,實(shí)現(xiàn)代碼如下:   Golobal.asa文件   〈SCRIPT LANGUAGE=″VBScript″ RUNAT=″Server″〉   Sub Session—OnStart   application(″online″)=application(″online″)+1   End Sub   Sub Session—OnEnd   application(″online″)=application(″online″)-1   End Sub   sub Application—OnStard   application(″online″)=0   End Sub   sub Application—OnEnd   application(″online″)=0   End Sub   〈/SCRIPT〉   Online.asp 文件內(nèi)容   〈% tmp=application(″online″)   tmp=Cstr(tmp)   dim disp()   dim images()   dbbits=len(tmp)   for i= 1 to dbbits   disp(i)=left(right(tmp,i),i-(i-1))   next   for i=dbbits to 1 step -1   images(i)=″〈img src=″&″/Article/UploadFiles/0411/041119065005812.gif〉″   response.write ″document.write(′ ″&images(i)&″ ′);″   next %〉   問題:ASP程序運(yùn)行的時間如何計算?   答:確定ASP程序的執(zhí)行時間的代碼如下所示:   〈%   dim t1,t2   t1=now()   ′被檢測的ASP代碼   t2=now()   response.write ″運(yùn)行這段ASP代碼用了″&cstr(cdbl((t2-t1)*24*60*60)) & ″秒″  。ァ
立即預(yù)約