当前位置: 代码迷 >> IIS >> 完善代替IIS的网络盒子NetBox
  详细解决方案

完善代替IIS的网络盒子NetBox

热度:6671   发布时间:2013-02-26 00:00:00.0
完美代替IIS的网络盒子NetBox

NetBox 编译器

  编译所有内部对象、引擎和脚本文件,并封装到独立可执行文件中,不需要安装任何补丁即可在 Windows 98、Windows NT/2000/XP/.NET 2003 RC1 上直接执行,极大的方便了部署和安装。编译后程序运行速度提高2~10倍,代码安全性好有效的保护了知识产权,解决了以往 ASP 开发的应用程序的发布问题。

可编程虚拟机

  NetBox 提供了强大的虚拟机对象,供开发商在应用程序中加入用户可编程特性(类似且强于Word 中的宏),提供用户订制计算、复杂商务逻辑的二次开发。由于虚拟机独立于应用程序,它安全可靠,可以控制并去除有害代码。NetBox 的虚拟机对象提供完整的错误回报和错误捕获功能。

应用服务器

  NetBox 提供了可编程的高性能 HTTP 服务器对象,直接编译到应用中无需独立部署。目前 NetBox 使用经业界广泛验证的 OpenSSL 来支持高效安全的 SSL 和 TLS 标准。

网络服务器

  NetBox 提供可编程的高性能 TCP 服务器对象用于编写多线程网络服务器软件,如 FTP,SMTP,POP3,Telnet,网络游戏服务器等。内置的 SSL、TLS 支持,无需编写代码直接支持安全传输。

强大的 HTML 对话框

  NetBox 提供一种新的快速创建桌面应用的方法,开发人员直接使用功能强大,设计容易的 HTML 作为软件界面,支持文字、图形、声音和流媒体的整合,支持数据库访问,支持 HTTP 和 TCP,支持 XML,支持各种加密算法,支持各种外设。NetBox 可以在很短的时间内开发功能强大的多媒体应用、网络应用(离线软件、下载工具等),商业软件客户端等。

什么是netbox?

NetBox 是一个使用脚本语言进行应用软件开发与发布的开发环境和运行平台,使用 NetBox,可以完全使用脚本语言(比如 VBScript,Javascript) 创建出稳定高效的应用软件。

NetBox 提供完全与操作系统无关的高性能的 HttpServer 对象,且完整支持 asp 服务器脚本技术,可以方便地将成熟的 asp 应用通过 NetBox 部署到各种操作环境,由于不再局限于操作系统的限制,甚至可以在 Windows XP 上达到超出 Windows 2000 Advance Server 的性能支持。

netbox2.8使用说明:

下载了之后,请按以下步骤,简单的实现用netbox查看你的asp程序。

1、安装,就像平时软件那样安装就可以了。

2、新建一个目录(目录名随便),目录下建一个文件,名字为main.box ,这个时候正常的话图标会变成:

(转)netbox2.8不能运行的原因 - 设计师 - 您好,网页设计师

这个文件的内容如下:

Dim httpd

Shell.Service.RunService "NBWeb", "NetBox Web Server", "NetBox Http Server Sample"

Sub OnServiceStart()

Set httpd = CreateObject("NetBox.HttpServer")

If httpd.Create("",83) = 0 Then

Set host = httpd.AddHost("", "")

host.EnableScript = true

host.AddDefault "1.asp"

httpd.Start

else

Shell.Quit 0

end if

End Sub

Sub OnServiceStop()

httpd.Close

End Sub

Sub OnServicePause()

httpd.Stop

End Sub

Sub OnServiceResume()

httpd.Start

End Sub

3、再在目录下建一个1.asp,内容如下:

<%="搜索吧"%>

4、双击main.box,这个时候在任务栏你可以看到:

(转)netbox2.8不能运行的原因 - 设计师 - 您好,网页设计师

5、在浏览器地址输入:

http://localhost:83/1.asp

以上就是netbox2.8创建一个web服务器的过程,这样有很多好处,你可以创建多个web服务器,使用的时候只需要先打开main.box,然后再像平常那样使用。它也让没装IIS而要调试ASP程序成为可能,比如你在网吧的时候,所以我说它是个好东西。对于我来说是十分实用的,很多ASP程序我都要通过iis手动调为“默认网站”才可以正常运行,而有了它,就省去我很多麻烦!至于它是否有其他问题,我只是稍微测试了下,没有具体测试,不好说!

对于以上的第二个步骤,为什么程序是那样写的,这里我引用帮助文档的内容,你就明白了,对于用来调试的你,根本就不用去了解它为什么这样,关键是它可以这样。引用内容:

NetBox 的一大功能就是内置支持了 HttpServer 和 asp。下面就按步骤建立一个以服务方式< 服务器。 WEB>

第一步:创建 WEB 服务器

由于 NetBox 提供了 HttpServer 对象,所以建立一个新的 HttpServer 并且启动、停止、退出,自然便是由 HttpServer 对象来实现,main.box 的代码也就比较简单了:

Set Console = Shell.Console

Set httpd = CreateObject("NetBox.HttpServer")

If httpd.Create("", 80) = 0 Then

httpd.Start

Console.ReadLine

httpd.Stop

httpd.Close

End If

Set httpd = Nothing

在上面的代码中,先创建一个新的 HttpServer,然后在所有的本机地址的 80 端口创建一个服务器,如果创建成功,则启动服务器,等待用户在控制台上输入回车后停止并关闭服务器。

运行这个程序,如果当前系统中未安装其他 Web 服务器,则此程序会显示控制台并等待回车,否则将直接退出。呵,我们的第一个程序都是很拙劣的。没有关系,我们一步一步来。

如果成功运行了程序,便可以用浏览器访问了,由于服务器装在本机,所以打开浏览器,在地址栏输入“http://localhost/”,哈,结果出来了,不过很不好看:

418 Host Not Found

不管想访问什么,都只会是这个结果。这样的结果显然< Web>

第二步:添加虚拟主机

前面我们建立的服务器之所以总是返回禁止访问,< 方法增加主机信息的部分: AddHost>

Set Console = Shell.Console

Set httpd = CreateObject("NetBox.HttpServer")

If httpd.Create("", 80) = 0 Then

httpd.AddHost "", "\wwwroot"

httpd.Start

Console.ReadLine

httpd.Stop

httpd.Close

End If

Set httpd = Nothing

在 NetBox 执行目录建立一个子目录 wwwroot,然后复制一些网页进去。我们再来看看效果如何。执行程序并再次访问“http://localhost/”,结果居然还是“403 Forbidden”。再访问 wwwroot 目录中已有的文件,哈哈,出现正确内容了。所以,实际上主机已经建立出来,但是未给主机提供缺省文件名。

第三步:添加缺省文件

为了让主机知道当用户访问目录时向用户返回的文件,需要使用 AddDefault 方法为主机添加缺省文件名,修改代码如下:

Set Console = Shell.Console

Set httpd = CreateObject("NetBox.HttpServer")

If httpd.Create("", 80) = 0 Then

Set host = httpd.AddHost("", "\wwwroot")

host.AddDefault "default.htm"

httpd.Start

Console.ReadLine

httpd.Stop

httpd.Close

End If

Set httpd = Nothing

我们再访问“http://localhost/”的时候,会发现不再显示禁止访问,而是开始出现了缺省页面的内容。如果给定的缺省文件不存在,则返回“404 File Not Found”。

第四步:支持服务器脚本

上面的步骤建立出来的 Web 服务器,是一个纯静态文件的服务器,是无法执行服务器脚本程序的,为了让我们的 Web 服务器能够理解服务器端脚本程序,需要修改 EnableScript 属性,同时为了让服务器能够使用脚本程序做为缺省文件,还需要再添加一个缺省文件,下面是新修改的代码:

Set Console = Shell.Console

Set httpd = CreateObject("NetBox.HttpServer")

If httpd.Create("", 80) = 0 Then

Set host = httpd.AddHost("", "\wwwroot")

host.EnableScript = true

host.AddDefault "default.asp"

host.AddDefault "default.htm"

httpd.Start

Console.ReadLine

httpd.Stop

httpd.Close

End If

Set httpd = Nothing

接下来,我们就可以在 wwwroot 目录里建立我们的 asp 脚本程序了,建立 test.asp:

<%Response.Write "Hello"%>

NetBox 也支持服务器 box 程序,在 wwwroot 目录中建立 test.box:

Response.Write "Hello"

第五步:以服务方式运行

到目前为止,已经有一个相对完整的 Web 服务器程序了,下面我们需要将这个服务器改写为系统服务程序,可以将其安装成为一个系统服务,更加便于运行维护。改写成为服务程序需要使用 Service 对象。

下面便是一个完整的 Web 服务程序的代码,关于 Service 对象的更多信息请参阅手册相关内容。

Dim httpd

Shell.Service.RunService "NBWeb", "NetBox Web Server", "NetBox Http Server Sample"

'---------------------- Service Event ---------------------

Sub OnServiceStart()

Set httpd = CreateObject("NetBox.HttpServer")

If httpd.Create("", 80) = 0 Then

Set host = httpd.AddHost("", "\wwwroot")

host.EnableScript = true

host.AddDefault "default.asp"

host.AddDefault "default.htm"

httpd.Start

else

Shell.Quit 0

end if

End Sub

Sub OnServiceStop()

httpd.Close

End Sub

Sub OnServicePause()

httpd.Stop

End Sub

Sub OnServiceResume()

httpd.Start

End Sub

总结

实现一个完整的 Web 服务程序,需要 HttpServer,HttpServerHost,Service 三个对象的支持,HttpServer 负责建立服务器并控制服务器的运行状态,HttpServerHost 负责建立主机信息, Service 则负责完成与服务程序相关的操作。

使用过程中需要注意的是:

If httpd.Create("",83) = 0 Then

这里为什么是83呢?因为我使用80的时候有冲突,导致netbox2.8打开后没反应,所以你也这样建议你也换个端口。