txbnmoubb (
网学)贡献 doc
文档可能在 WAP 端浏览体验不佳。建议您优先选择 TXT,或下载源文件到本机查看。 如何把 ASP 编写成 DLL 服务器端组件 首先,服务器端的组件要有别于客户端的组件.客户端的组件是通过
网络 传输,依靠 HTML 来起作用.而且只能在 IE 上有用.但是服务器端的组件是运行在服务器端, 它在服务器上执行 各种操作.因此,所有的浏览器都能享用,它依靠的是服务器而不是浏览器. 当 IIS 被请求执行一个 ASP 程序,它首先会在 ASP 文件中找到 〈% %>标签之间的代码, 并 且执行它(也可以是〈script runat=server>〈/script>之间的代码).如果这个 ASP 程序在 先前 被 调用过,那么它就会用内存中的编译过的程序来向用户返回
HTML 代码,如果没有, 那么 它就重新编译.这里 ASP 就比 CGI 多一点速度优势,因为 CGI 是每一个请求都使用一 个线程. 这样就大大消耗了服务器的资源. 想不想你写的
程序自己就能在 IIS 运行!?!现在 你就行了!使用 VB5(当然现在是 VB6 了), 你就能建立 Dynamic Linked Libraries (DLL 文 件),它能在 IIS 上直接运行(如果有 asp 文件来 请求的话). 系统和
软件的要求 你需要一 个 32 位的操作
系统来运行 ASP.当然你也得安装 IIS 或 PWS.我们下面的程序是 在 Windows95+PWS+VB5 的环境下开发的. 我们开始吧 启动你的 VB,选择 ActiveX 图标.这个 图标可以在新建工程找到!
VB 会提供一个默认的工 程名(project1)和类名(class1).我们会 将这两个名字都改掉.在改名之前,请首先确认我们拥有 Microsoft Active Server Pages Object Library,它在我们的程序非常有用.从菜单中选择工程,然 后在其中选择引用,就会 出现引用窗口从中选择 Microsoft Active Server Pages Object Library. 给工程和类命名 现在我们来根据自己的爱好来为 project1 和 class1 来命名吧!给它们命名也是很重要的, 我们以后会用这个工程名和类名来创建这个组件的实例!后面详细介绍. 如何改名,我就不想 多说了! 我们的工程名改为 Exmaple,类名为 Helloword 怎样使用工程和类 现在我们有了 我们自己的工程(Example1)和类名(HelloWorld).以后我们就会在 ASP 代码 中使用它们的 名 字 来 引 用 这 个 组 件 . 在 ASP 中 我 们 就 这 样 引 用 , 如 下 : Set ObjReference = Server.CreateObject(ProjectName.ClassName) 对 于 我 们 工 程 的 引 用 就 是 : Set ObjReference = Server.CreateObject(Example1.HelloWorld) 现 在 我 们 就 能 用 ObjReference 来调用我们在组件中所创建的函数,子程序.下面我们会 来写一个 SayHello 的 子 程 序 , 我 们 执 行 它 的 代 码 如 下 : 〈 % Set ObjReference = Server.CreateObject(Example1.HelloWorld) ObjReference.SayHello %> 为了在 Hello
word 类中使用 ASP 的方法,你必须在此类中写一个 OnStartPage 子 函数.如下:
Public Sub OnStartPage(PassedScriptingContext As ScriptingContext) Set MyScriptingContext = PassedScriptingContext End Sub 现在,无论什么时候用户访问一个 带有本组件的 ASP 文件,IIS 就会把 ScriptingContext 传 送给我们的对象请我们使用.这 个 ScriptingContext 包括了全部的 ASP 方法和属性.实现上,这 使得我们有能力访问所有 ASP 的 对 象 . 看 下 面 的 代 码 : Public Sub OnStartPage(PassedScriptingContext As ScriptingContext) Set MyScriptingContext = PassedScriptingContext Set MyApplication = MyScriptingContext.Application Set MyRequest = MyScriptingContext.Request Set MyResponse = MyScriptingContext.Response Set MyServer = MyScriptingContext.Server Set MySession = MyScriptingContext.Session End Sub 以 后 我 们 就 能 用 在 VB 中 用 MyApplication 来代替 ASP 中的 Application,同理可以代替 Request,Server……,不过我 们 来 是 要 在 OnStartPage 之 前 来 申 明 这 些 变 量 : Private MyScriptingContext As ScriptingContext Private MyApplic