在Asp時代有一個NetBox 產品可以把整個Asp網站AllInOne的打包成一個exe,在沒有IIS的情況下可以單獨運行這個exe來開啟整個網站。 在Asp.Net 下一直沒有類似的產品出現,可能是IIS已經非常的強大了,不需要類似的產品了? 但是在某種場景下還是需要一個類似功能的產品的,這個產品不是用來部分替代IIS來做一個羽量級的IIS,而是用來方便快捷的進行客戶展示。
例如,當完成一個網站開發後,或者部分完成開發後,想給客戶展示一下,收集一下客戶的回饋,一般有兩種做法:
1. 自己有主機和功能變數名稱,把網站發佈到Internet 上,讓使用者通過Internet訪問網站。
2. 把網站部署到一台筆記本上,讓一名工程師帶著網站到客戶那裡收集客戶回函。
結合NetBox的思想是否可以把整個網站打包成一個exe,儘量把相關的東西都AllInOne到一個exe裡,這樣給客戶演示的時候,就可以直接把這個exe發給使用者,使用者直接運行這個exe就可以看到網站的實現的情況了, 這樣做是否又給網站演示增加了一種新的手段。
Jelly.Packer.exe就是從這個想法而開發出來的 打包程式,把整個網站打包成一個AllInOne的exe,然後將打包生成的exe發給客戶做演示。 Home Directory: 要打包網站所在的位置,某個你已經編譯好的要發佈的網站的資料夾,一般是Visual Studio網站publish輸出的資料夾。
Virtual Directory: 網站虛擬路徑,一般使用 「/」, 如果你打包了兩個網站,想在同一端口運行,可以使用虛擬路徑來區分。
List Directory: 在沒有預設頁面的時候,是否允許列出目錄。
Authentication: 是否要求安全身份訪問。
Auto Show: 是否自動開啟網站,並同時開啟預設瀏覽器訪問此網站。
Default Files: 網站預設頁面。
當配置好上面的屬性後,點 」OK」 後,就會在Jelly.Packer.exe同目錄下生成一個Jelly.SingleRunner.exe,這個Jelly.SingleRunner.exe 就是指定網站AllInOne所打包好的exe,可以將這個exe發給客戶做演示。 當運行Jelly.SingleRunner.exe 後,會在剛剛Jelly.Packer.exe所設置的埠上開啟指定的網站: 最初曾經考慮過把一個輕型的web server ,網站,和一個輕型瀏覽器打包在一起, 這樣就不需要佔用埠了,就像MSDN説明手冊的 ms-help 協定那樣來實現,後來考慮到需要讓多個瀏覽器都可以訪問,同時也可以把這個演示網站公開發布到本地局域網裡,讓客戶本地網路裡的別的機器也可以訪問,基於這種需求, 把輕型web server和網站打包在一起,可能是比較好的選擇吧。
打包程式下載:
附件: 06_003955_khaoJellyPacker.rar (2011-2-16 12:01:48, 116.80 K)
把BlogEngine V2.0打包成了exe:
附件: BlogEngine_Jelly_SingleRunner.rar (2011-2-16 12:01:48, 2639.24 K)
相關發佈:
附件: 06_32323_new_JellyRelease.rar (2011-2-16 12:01:48, 263.65 K)