日期:2014-04-22  浏览次数:20422 次

  前几天大哥对我说,使用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

  %>

好了,希望我的方法能够解决大哥的苦恼,呵呵。