VB 程序设计

10个成员

利用VB6.0开发基于IIS的应用程序

发表于 2016-12-19 3331 次查看
  本文介绍了利用VisualBasic开发IIS应用程序的方法和步骤。使用这种开发方法不但大大简化了IIS应用程序的开发过程,而且使我们的Web站点具有更强的功能和更大的灵活性。

  一、概述

  大家知道,IIS(Internet Information Server)应用程序是VisualBasic应用程序,它在动态的、基于浏览器的应用程序中使用HTML和已编译的VisualBasic代码。IIS应用程序驻留在Web服务器上,接受来自浏览器的请求,运行与请求相关联的代码并返回响应到浏览器。IIS应用程序可以使用VisualBasic代码来完成以前用脚本、CGI处理和其他方法完成的功能。IIS应用程序可以在任何浏览器上运行,因此它很容易得到广泛的应用。对用户来说,一个IIS应用程序好象是由一系列的HTML页面组成。对开发者来说,一个IIS应用程序是由一些被称为Webclass的特殊类型对象组成。而Webclass包含一系列称为Webitem的资源。Webclass作为应用程序的核心,处理来自浏览器的数据并向用户发送信息。Webitem是Webclass为响应一个请求发送给浏览器的HTML页面和其他数据。

  二、IIS应用程序的开发过程

  IIS应用程序的开发过程大体分为五个步骤。我们结合一个公文数据检索程序来说明。

  1、建立IIS应用程序工程

  当建立一个IIS应用程序时,应选择IIS应用程序类型工程。IIS应用程序工程是一个ActiveXDLL工程类型,它自动包括一个ActiveX设计器。这个称为Webclass的设计器作为创建应用程序的基础。一个Webclass设计器对应一个Webclass,但它可以包含多个HTML模板和Webitem。如果想在应用程序中包括多个Webclass,必须在工程中插入另外的设计器。多数情况下,必须编写代码告诉Webclass当应用程序第一次启动时做哪些工作,使用Start事件来完成它。当用户第一次访问你的应用程序时,Start事件发生。使用Start事件代码漫游到应用程序中的第一个Webitem。

  例如,我们建立一个名为SearchData的IIS应用程序,编写Webclass的Start事件代码如下:

  Private Sub Webclass_Start()
   Set NextItem=SearchTpl
   End sub

  2、添加HTML模板到Webclass

  添加HTML模板到IIS应用程序,可使Webclass在响应用户请求时向浏览器发送HTML页面。当添加一个模板到Webclass时,要选择一个与它关联的HTML页面。一个Webclass可以包含多个模板Webitem,但每个模板Webitem仅能表示一个HTML页面。你必须为每一个HTML页面添加相应的模板。在插入一个HTML页面文件之后,可以使用HTML编辑器对页面的内容和布局进行更改。例如,我们添加一个名为SearchTpl的模板Webitem,它与SearchCondition页面关联,并编写Respond事件将此HTML页面的内容写到浏览器。

  Private Sub SearchTpl_Respond()
    SearchTpl.Write Template
End Sub

  与SearchTpl模板关联的SearchCondition页面让用户输入检索条件。其内容如下:

  

  <HTML>
   <head>
    <metahttp-equiv="Content-Type" content="text/HTML;charset=gb_2312-80">
    <title>检索条件</title>
   </head>
   <body bgcolor="#FFFFFF">
    <form action="SearchData_Webclass.asp?WCI=SearchResult" method="POST">
     <p>起始日期<input Type="text" size="10" name="date1"></p>
     <p>终止日期<inputType="text" size="10" name="date2"></p>
     <p>文件字号<inputType="text" size="50" name="code"></p>
     <p>文件标题<inputType="text" size="50" name="title"></p>
     <p><inputType="submit" name="submit" value="确定">
      <inputType="reset" name="clear" value="清除">
     </p>
    </form>
   </body>
   </HTML>


  3、添加自定义的Webitem到Webclass

  自定义的Webitem允许你通过VisualBasic代码动态地向浏览器发送响应。自定义的Webitem通常是一组过程代码。IIS应用程序中的大多数处理发生在自定义Webitem的事件过程中。IIS应用程序接收HTML页面的请求,与Webitem的事件进行匹配,并运行相应的事件过程代码。例如,我们添加一个名为SearchResult的自定义Webitem。它使用Request对象在SearchCondition页面窗体中获取用户输入的查询条件,然后建立一个连接到ADO公文数据库,创建记录集并从中检索满足条件的信息。

  Private Sub SearchResult_Respond()

  ′为获取窗体的信息声明变量

  Private sDate1 as String
   Private sDate2 as String
   Private sTitle as String
   Private sCode as String

  ′获取窗体参数并赋给变量

  sDate1=Request.Form("date1")
   sDate2=Request.Form("date2")
  sTitle=Request.Form("title")
   sCode=Request.Form("code")

  ′为数据库连接和记录集声明对象变量

  Dim cn As New ADODB.Connection
   Dim rs As New ADODB.Recordset
   Dim QueryStr As String′

  '形成SQL数据查询字符串

  QueryStr="select form 公文 where "&"日期>="&"#" & sDate1 &"#"&
   "and" &"日期<="&"# "& sDate2 & "#"&" and" &"文件标题like" & "* "&" *"& sTitle & “ * "&"*"& "and" &"文件字号like"&"*"&" "& sCode&" * "&""

  ′建立数据库连接

  cn.ConnectionString="DSN=doc;UID=sa;
   PWD=sa;DATABASE=document"
   cn.Open

  ′创建记录集

  Open QueryStr,cn,adOpenStatic,adlockReadonly

  ′将结果信息逐个记录地写到一个表格

  With Response
   .Write "<HTML>”
   .Write "<BODY>"
   .Write "<TABLE BORDER CELLSPACING=1 CELLPADDING=7>"
   Do While rs.EOF=False
   .Write "<TR><TD>"
   .Write rs("文件标题")
   .Write "</TD><TD>"
   .Write rs("文件字号")
   .Write "</TD><TD>"
   .Write rs("日期")
   .Write "</TD><TR>"
   .Write rs("责任单位")
   .Write "</TD><TR>"
   .Write rs("主题词")
   .Write "</TD><TR>"
   rs.MoveNext
   Loop
   .Write"</TABLE>"
   .Write"</BODY>"
   .Write"</HTML>"
   End With′

  '关闭记录集和数据库连接

   rs.Close
    cn.Close
   End Sub

  4、调试IIS应用程序

  调试一个IIS应用程序的方法和调试其他VisualBasic应用程序一样,都是通过进入运行模式来进行的。VisualBasic为IIS应用程序创建虚拟目录,使用浏览器打开相应.asp文件启动Webclass。调试时,可以使用VisualBasic的所有工具来调试你的工程。如设置断点、查看变量、调试语句等。

  5、部署IIS应用程序

  可以使用VisualBasic打包和展开向导来包装和部署你的IIS应用程序。打包和展开向导将工程的.DLL文件和所有相关的文件包装到一个“压缩包”或.cab文件中。然后可以部署这个压缩包文件和相关文件到一个Web服务器上。

  三、小结

  利用VisualBasic开发IIS应用程序,不但可以使用VisualBasic的类模块和ActiveX部件,而且能够使用VisualBasic所有的工具来调试IIS应用程序。这种开发方法大大简化了IIS应用程序的开发过程,使我们更加方便地建立功能强大的Web站点。

 

发表回复
你还没有登录,请先登录注册