前几天大哥对我说,使用asp真麻烦,编译环境实在是差劲,他总是在vb里面写好调试好代码然后在把代码粘贴到asp程序中,为此,我在这提出一个解决之道。使用VB接替ASP所有的对象,在VB中编写纯粹的ASP程序。
大家应该都知道,其实asp中的好多组件都是使用VB编写出来的,但是让大家感到很不方便的是如何使用asp固有的几个组件,例如Response,Request,Application,Session等等,如果我要是能够在VB里面直接使用这些组件的话,那么就能够直接使用VB编写asp运用程序了。
下面是详细的步骤:
1。在VB中新建一个ActiveX DLL.其中那些命名项目、类的过程我就省略了。
2。现在需要在VB中引用两个dll.
第一个是引用ASP引擎的dll.
从菜单中选择Project\References命令,引用'Microsoft Active Server Pages Object Library'.
如果你没有找到它的话,你可以在以下目录中查找这个asp.dll文件%systemdirectory%/system32/inetsvr目录
单击按钮'Browse...'可以导入这个动态连接库
第二个是引用Microsoft Transaction Server (MTS)对象.选择同样的命令,引用
'Microsoft Transaction Server Type Library'.
如果你没有找到它的话,你可以在以下目录中查找这个mtxas.dll文件
%systemdirectory%/system32/Mts/ 3。好了,所有准备工作完成,下面是如何编写的代码,我想大家都能够看明白的。
这个是类文件的代码:
Option Explicit
Dim m_objResponse As Response
Dim m_objRequest As Request
Dim m_objServer As Server
Dim m_objApplication As Application
Dim m_objSession As Session
Private Sub Class_Initialize()
Dim objContext As ObjectContext
Set objContext = GetObjectContext()
Set m_objResponse = objContext("Response")
Set m_objRequest = objContext("Request")
Set m_objServer = objContext("Server")
Set m_objApplication = objContext("Application")
Set m_objSession = objContext("Session")
End Sub
Public Sub ASPTest()
m_objResponse.Write "告别写字板,使用VB环境编写ASP程序!"
End Sub
将以上的代码拷贝粘贴到你的程序中,然后编译这个项目成dll。最后使用
regsvr32 componentname.dll把这个dll注册到iis中。
下面是在asp文件中使用这个组件的方法:
<%
Set objTest = Server.CreateObject("YourPrjName.ASPTest")
objTest.ASPTest
Set objTest = Nothing
%>
好了,希望我的方法能够解决大哥的苦恼,呵呵。
|