แนะนำ: ASP ป้องกันหน้าเว็บจากรหัสรีเฟรช ลดภาระเซิร์ฟเวอร์ ASP ป้องกันการรีเฟรชเว็บหน้ารหัส subpreventRefresh () dimrefreshtime, isrefreshrefreshtime = 10 ป้องกันเวลารีเฟรชหน่วย (วินาที) isrefresh = 1 ไม่ว่าจะใช้ฟังก์ชั่น anti-refresh, 0 = no, 1 = yesifisrefresh = 1then
วิธีใช้ให้เพิ่มรหัสต่อไปนี้ลงในหน้าเว็บที่คุณต้องใช้แคชไฟล์
<!-#includit file = fileCatch.asp->
-
setMyCatch = newCatchFile
myCatch.Overdue = 10 'แก้ไขเวลาหมดอายุที่ตั้งค่าเป็น 10 นาที
ifmycatch.catchnow (rev) จากนั้น
Response.writemycatch.catchdata
Response.end
endif
setMyCatch = ไม่มีอะไร
-
filecatch.asp
คัดลอกเนื้อหาไปยังรหัสคลิปบอร์ด:
-
'ไฟล์นี้ใช้เพื่อตรวจสอบในไฟล์ต้นฉบับและใช้งานการจับไฟล์ของหน้าเว็บ
'1. หากคำขอไฟล์เป็นโหมดโพสต์ให้ยกเลิกฟังก์ชั่นนี้
'2. คำขอไฟล์ไม่สามารถมีคำสำคัญการระบุระบบ
classcatchfile
Publicoverdue, Mark, cfolder, cfile 'กำหนดพารามิเตอร์ระบบ
PrivatescriptName, ScriptPath, ServerHost 'กำหนดตัวแปรพารามิเตอร์เซิร์ฟเวอร์/หน้า
ข้อมูลเอาต์พุตของ PublicCatchData
privateSubclass_initialize 'ฟังก์ชั่นเริ่มต้น
'รับข้อมูลเซิร์ฟเวอร์และสคริปต์
scriptName = request.serverVariables (script_name) 'จดจำที่อยู่เสมือนของสคริปต์ปัจจุบัน
scriptPath = getScriptPath (false) 'ระบุที่อยู่ GET ทั้งหมดของสคริปต์
ServerHost = request.ServerVariables (server_name) 'ระบุที่อยู่ของเซิร์ฟเวอร์ปัจจุบัน
'เริ่มต้นพารามิเตอร์ระบบ
overdue = 30 'เริ่มต้น 30 นาทีหมดอายุ
mark = nocatch 'ไม่มีพารามิเตอร์การร้องขอการจับคือ nocatch
cfolder = getCfolder 'กำหนดไดเรกทอรีบันทึกไฟล์เริ่มต้นเริ่มต้น
cfile = server.urlencode (scriptPath) &. txt 'แปลงพา ธ สคริปต์เป็นพา ธ ไฟล์
catchdata =
enddub
PrivateFunctionGetCfolder
dimfso, cfolder
setfso = createObject (scripting.filesystemobject) 'ตั้งค่าวัตถุ FSO
cfolder = server.mappath (/) &/fileCatch/
ifnotfso.folderexists (cfolder) จากนั้น
FSO.CreateFolder (cfolder)
endif
ifmonth (ตอนนี้ ()) <10 จากนั้น
cfolder = cfolder &/0 & month (ตอนนี้ (ตอนนี้ ())
อื่น
cfolder = cfolder & month (ตอนนี้ (ตอนนี้ ())
endif
ifday (ตอนนี้ ()) <10 จากนั้น
cfolder = cfolder & 0 & day (ตอนนี้ (ตอนนี้ ())
cfolder = cfolder & day (ตอนนี้ ())
endif
cfolder = cfolder &/
ifnotfso.folderexists (cfolder) จากนั้น
FSO.CreateFolder (cfolder)
endif
getCfolder = cfolder
setfso = ไม่มีอะไร
endfunction
PrivateFunctionByTes2BSTR (VIN) 'แปลงฟังก์ชั่นเข้ารหัส
dimstrreturn, thischode, i, nextcharcode
strreturn =
fori = 1tolenb (vin)
thischArcode = ascb (midb (vin, i, 1))
ifthisCharcode <& h80 จากนั้น
strreturn = Strreturn & Chr (ThisCharcode)
อื่น
NextCharcode = ASCB (MIDB (VIN, I+1,1)))
strreturn = strreturn & chr (clng (thischarcode)*& h100+cint (nextcharcode))
i = i+1
endif
ต่อไป
bytes2bstr = streturn
endfunction
PublicFunctionCatchNow (Rev) 'ผู้ใช้ระบุเพื่อเริ่มการประมวลผลการดำเนินการ catch
ifucase (request.serverVariables (request_method)) = postthen
'หากเป็นวิธีการโพสต์ไม่สามารถใช้การจับไฟล์ได้
rev = หน้าคำขอโดยใช้วิธีการโพสต์ฟังก์ชันจับไฟล์ไม่สามารถใช้งานได้
catchNow = false
อื่น
ifrequest.querystring (mark) <> จากนั้น
'หากพารามิเตอร์ที่ระบุไม่ว่างเปล่าหมายความว่าคำขอไม่สามารถใช้งานได้
catchNow = false
อื่น
catchNow = getCatchData (rev)
endif
endif
endfunction
PrivateFunctionGetCatchData (Rev) 'อ่านข้อมูลจับ
dimfso, isbuildcatch
setfso = createObject (scripting.filesystemobject) 'ตั้งค่าวัตถุ FSO และเข้าถึง catchFile
iffso.fileexists (cfolder & cfile) จากนั้น
dimfile, lastcatch
setFile = fso.getFile (cfolder & cfile) 'กำหนดวัตถุไฟล์ catchfile
lastCatch = cdate (file.datelastModified)
ifdatediff (n, lastcatch, ตอนนี้ ())> overduethen
'ถ้าเกินเวลาจับ
isBuildCatch = true
อื่น
isBuildCatch = false
endif
setFile = ไม่มีอะไร
อื่น
isBuildCatch = true
endif
ifisbuildcatchthen
getCatchData = http: //www.code-123.com/html/buildcatch (rev) '
อื่น
getCatchData = http: //www.code-123.com/html/readcatch (rev) 'หากคุณไม่จำเป็นต้องสร้างการจับจากนั้นอ่านข้อมูลการจับโดยตรง
endif
setfso = ไม่มีอะไร
PrivateFunctionGetScriptPath (isget) 'สร้างที่อยู่ที่มีข้อมูลที่ร้องขอทั้งหมด
Dimkey, FIR
getScriptPath = scriptName
fir = true
foreachkeyinrequest.querystring
iffirthen
getScriptPath = getScriptPath &?
FIR = FALSE
อื่น
getScriptPath = getScriptPath &&
endif
getScriptPath = getScriptPath & server.urlencode (คีย์) & = & server.urlencode (request.QueryString (คีย์))
ต่อไป
ifisgetthen
iffirthen
getScriptPath = getScriptPath &?
FIR = FALSE
อื่น
getScriptPath = getScriptPath &&
endif
getScriptPath = getScriptPath & server.urlencode (mark) & = ใช่
endif
endfunction
'สร้างไฟล์จับ
PrivateFunctionBuildCatch (Rev)
dimhttp, url, ผลลัพธ์
sethttp = createObject (microsoft.xmlhttp)
'onerrorresumenext
'response.writeserverhost & getScriptPath (จริง)
http.openget, http: // & serverhost & getScriptPath (จริง), false
http.send
iferr.number = 0 แล้ว
catchdata = http: //www.code-123.com/html/bytes2bstr (http.responsebody)
อื่น
Rev = ข้อผิดพลาดเกิดขึ้นในการสร้าง: & err.description
buildCatch = false
err.lear
endif
callwritecatch
sethttp = ไม่มีอะไร
endfunction
PrivateFunctionReadCatch (Rev)
readCatch = iReadCatch (cfolder & cfile, catchdata, rev)
endfunction
Privatesubwritecatch
dimfso, tso
setfso = createObject (scripting.filesystemobject) 'ตั้งค่าวัตถุ FSO และเข้าถึง catchFile
settso = fso.createtextfile (cfolder & cfile, true)
tso.write (catchdata)
settso = ไม่มีอะไร
setfso = ไม่มีอะไร
enddub
endclass
FunctionIreadCatch (ไฟล์, ข้อมูล, rev)
dimfso, tso
setfso = createObject (scripting.filesystemobject) 'ตั้งค่าวัตถุ FSO และเข้าถึง catchFile
'onerrorresumenext
settso = fso.opentextfile (ไฟล์, 1, false)
data = http: //www.code-123.com/html/tso.readall
iferr.number <> 0 แล้ว
Rev = ข้อผิดพลาดเกิดขึ้นในการอ่าน: & err.description
readCatch = false
err.lear
อื่น
ireadCatch = true
endif
settso = ไม่มีอะไร
setfso = ไม่มีอะไร
endfunction
-
แบ่งปัน: ASP Calls C# Compiled Com Component ตัวอย่าง 1 สร้างไลบรารีคลาสใหม่ mytestdll 2 คลิกขวาที่โครงการ mytestdll-》 แอตทริบิวต์-》 generate-》 ติ๊กเป็นการลงทะเบียนการทำงานร่วมกันของ Com 3 เปิดแอสเซมบลีอินบลีอินฟอ