(雙擊main.box一直沒反應.鬱悶了好久...後來才知道原來我的問題是80連接埠被佔了.關了迅雷問題立馬解決了.呵呵..還有一種解決辦法就是換個連接埠號碼..)
什麼是netbox?
NetBox 是一個使用指令碼語言進行應用軟體開發與發布的開發環境和運行平台,使用 NetBox,可以完全使用指令碼語言(比如 VBScript,Javascript) 建立出穩定高效的應用軟體。
NetBox 提供完全與作業系統無關的高效能的 HttpServer 對象,且完整支援 asp
伺服器指令碼技術,可以方便地將成熟的 asp 應用通過 NetBox 部署到各種作業環境,由於不再局限於作業系統的限制,甚至可以在
Windows XP 上達到超出 Windows 2000 Advance Server 的效能支援。
netbox2.8使用說明:
下載了之後,請按以下步驟,簡單的實現用netbox查看你的asp程式。
1、安裝,就像平時軟體那樣安裝就可以了。
2、建立一個目錄(目錄名隨便),目錄下建一個檔案,名字為main.box ,這個時候正常的話表徵圖會變成:
這個檔案的內容如下:
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,這個時候在工作列你可以看到:
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開啟後沒反應,所以你也這樣建議你也換個連接埠。