The reason for writing ASP Using DLL:
1,CodeProtection
ASP code is completely exposed when delivered to customers. Relatively confidential. There are many ASP-encrypted products on the market. However, while protecting code, the operation speed is reduced and it is not easy for secondary development and management. ActiveX dll can fully implement all the work that ASP can do, and the finished product is a compiled DLL file, so that only the finished product can be delivered to the customer, and its own technology has been well protected.
2. Efficient operation
It is useless to talk about this!
The following code proves this!
Let's take a look at some of the necessary Code implemented using VB:
' ------------ Use ActiveX DLL to write ASP --------------------
' Author: Ren Wu
' Nick name: dsclub
' Csdn: dsclub (wuer)
' Weblog: www.cnblogs.com/dsclub
' QQ: 9967030
' | Description | |
'
' Required tasks:
' 1. reference the Microsoft Active Server Page Object Library component
' 2. Add an onstartpage onendpage event
' 3. The onstartpage event is responsible for receiving the scriptingcontext object.
' This object provides an ASP page Environment
'
'
' | |
Option Explicit
' ========================================================== ==============================
' ------------ Required ASP object ----------------
Private Mcontext As Scriptingcontext
Private Mapplication As Application
Private Mresponse As Response
Private Mrequest As Request
Private Msession As Session
Private Mserver As Server
' ------------------------------------------
' Receive the scriptingcontext object
' Initialize ASP objects
Public Sub Onstartpage (passedscriptcontext As Scriptingcontext)
' ASP running environment object
Set Mcontext = Passedscriptcontext
' Five ASP objects
Set Mapplication = Mcontext. Application
Set Mrequest = Mcontext. Request
Set Mresponse = Mcontext. Response
Set Mserver = Mcontext. Server
Set Msession = Mcontext. Session
End sub
' Release internal objects
Public Sub Onendpage ()
Set Mapplication = Nothing
Set Mrequest = Nothing
Set Mresponse = Nothing
Set Mserver = Nothing
Set Msession = Nothing
Set Mcontext = Nothing
End sub
' ========================================================== ==============================
Okay, I think it's okay to write comments ......
Prove the speed advantage directly. KKK ~~~~~~~~~~
Add the following in VB: Public Sub Count ()
Dim I As Long
Dim J As Long
For I = 0 To 10000000
J = J + 2
Next I
Mresponse. Write J
End sub
Then write in ASP:
<%
"& Now ()&"
"
Response. Flush
Set OBJ = server. Createobject ("dsclub. imgcompose ")
OBJ. Count
Set OBJ = nothing
Response. Write"
"& Now ()&"
"
Response. Flush
%> Response. Write "<br/>" & now () & "<br/>"
Response. Flush
Set OBJ = server. Createobject ("dsclub. imgcompose ")
OBJ. Count
Set OBJ = nothing
Response. Write "<br/>" & now () & "<br/>"
Response. Flush
%>
The same Code functions are implemented using ASP only:
<% @ Language = VBScript %>
<%
Dim I, j
Response. Write "<br>" & now () & "<br>"
Response. Flush
For I = 0 to 10000000
J = J + 2
Next
Response. Write J
Response. Write "<br>" & now () & "<br>"
Response. Flush
%>
"& Now ()&"
"
Response. Flush
For I = 0 to 10000000
J = J + 2
Next
Response. Write J
Response. Write"
"& Now ()&"
"
Response. Flush
%>
Run two pages to view the results:
You don't want to talk about it anymore.
The page result of DLL:
2004-7-10 15:41:48
20000002
2004-7-10 15:41:48
The result of the pure ASP page:
2004-7-10 15:41:38
20000002
2004-7-10 15:41:42
My machine is
Of p42.8c 512m
OS: ipvs XP
So much difference !!!
"& Now ()&"
"
Response. Flush
Set OBJ = server. Createobject ("dsclub. imgcompose ")
OBJ. Count
Set OBJ = nothing
Response. Write"
"& Now ()&"
"
Response. Flush
%> "& Now ()&"
"
Response. Flush
Set OBJ = server. Createobject ("dsclub. imgcompose ")
OBJ. Count
Set OBJ = nothing
Response. Write"
"& Now ()&"
"
Response. Flush
%> "& Now ()&"
"
Response. Flush
Set OBJ = server. Createobject ("dsclub. imgcompose ")
OBJ. Count
Set OBJ = nothing
Response. Write"
"& Now ()&"
"
Response. Flush
%> "& Now ()&"
"
Response. Flush
Set OBJ = server. Createobject ("dsclub. imgcompose ")
OBJ. Count
Set OBJ = nothing
Response. Write"
"& Now ()&"
"
Response. Flush
%> "& Now ()&"
"
Response. Flush
Set OBJ = server. Createobject ("dsclub. imgcompose ")
OBJ. Count
Set OBJ = nothing
Response. Write"
"& Now ()&"
"
Response. Flush
%> "& Now ()&"
"
Response. Flush
Set OBJ = server. Createobject ("dsclub. imgcompose ")
OBJ. Count
Set OBJ = nothing
Response. Write"
"& Now ()&"
"
Response. Flush
%>