程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> ASP.NET也像WinForm程序一樣運行的實現方法

ASP.NET也像WinForm程序一樣運行的實現方法

編輯:ASP.NET基礎
由於現在會使用WinForm的人是越來越少了,可能有時候做點小東西就只好用ASP.NET去完成了(喜歡控制台的朋友請不要頂針),如果是這樣,悲劇就發生了:一個小工具(或者小的演示項目),發給朋友去用,總不至於讓人家也裝個IIS或者VS20XX吧?如果沒有這二樣,這種小工具還真不方便運行。怎麼辦?做過ASP.NET開發的人都知道:網站通常要布署到IIS上才能直接運行,當然也不排除你用VS打開項目並使用VS自帶的WebDev.WebServer.exe來啟動程序。這種方式難免有不方便的時候。

我平時就喜歡寫些小工具,還好,我會WinForm,所以這個問題還好解決。但有時我要把一些小的網站作品給別人使用時,同樣會遇到這種問題。終於我做了一個很方便的小工具,徹底地解決了ASP.NET網站不能像WINFORM那樣運行的難題。今天,我給大家演示一下這個小工具(它非常小,還不到300K),我相信你會喜歡它的。

記住哦,我的工具的名字叫:FishAspnetLoader

操作方式

工具好不好用,操作的易用性很關鍵,來看看我的工具是如何啟動一個網站的。

在Windows資源管理器中,找到您要啟動的網站所在目錄,右擊鼠標,如下圖:

此時只要點擊【用FishAspnetLoader加載此目錄為網站】即可。

是的,我沒說錯,這樣就可以了,任何目錄都可以,也不需要您把什麼什麼文件拷貝到什麼地方,【只要右擊鼠標,點一下菜單就行了】。

網站的運行效果如下:

您說現在是不是一個WinForm程序在運行?

你說什麼,沒有對話框?那你再來看:

現在像個WinForm程序了吧。

支持的ASP.NET程序類別

前面也說過,設計這個小工具是為了解決ASP.NET程序運行受限制的問題。這個工具可以支持WebForm, MVC二種ASP.NET框架。包括我的WEB框架也支持哦。

所以,理論上,只要是一個ASP.NET程序,應該都是可以運行的,程序會自動識別,也不需要做任何設置。還是那句話:【只要右擊鼠標,點一下菜單就行了】。

而且ASP.NET的版本也不是問題,從.net 2.0 到 .net 4.0 全線支持。

它也是個HTTP服務器

剛才我說到我的工具可以支持在任何文件夾上右擊並加載為網站。是的,我沒瞎說,就算那個目錄不是個ASP.NET程序目錄,是一個普通的文件目錄,或者是一個靜態網頁的目錄,都是可以的,此時就和IIS的行為一樣了,如果請求的是靜態頁面,就顯示靜態頁面,遇到目錄時,就列目錄。而且此時的運行速度會比ASP.NET程序更快哦。原因很簡單:此時不加載ASP.NET運行時環境。

來張列目錄的效果圖:

還有一點要補充:與WebDev.WebServer.exe不同,只要是Windows能支持的文件名或者目錄名,我的工具就能支持,與IIS的行為完全一致。

很遺憾,我好久沒做那種純靜態頁面的網站了,就不截圖展示了。我想你懂的。

支持遠程機器訪問

看到上一張截圖,您有沒有一種想法:以後如果有人找我要文件,我就讓他們去下載呀,這樣比共享目錄還安全呢。

哈哈,如果您有這種想法,那我要恭喜您了,您的安全覺悟還不錯。是的,我的工具支持這個功能:可以讓遠程機器浏覽【做為網站加載的目錄】(並不是任何目錄)。

為了安全,程序默認是不允許遠程機器連接的,需要您來手工打開。操作也簡單,如下圖:

用文字描述就是:右擊系統托盤圖標,點擊【設置安全參數】菜單。此時將出現以下對話框:

這個對話框很簡單,我想您懂的,此處略過78個字.....

不受限於Windows防火牆

剛才說到可以讓遠程機器訪問,這裡有個問題:從WindowsXP開始,操作系統就集成了防火牆的功能,而且打開這個功能的機器還真不少。如果真是這樣,前面所說的功能就要遇到問題了:可能會被防火牆阻攔!哦,這個工具太不完美了,人家什麼什麼工具怎麼就沒被防火牆攔住呢?幸好,我的工具不受這個問題的困擾,它能自動把它添加到Windows防火牆的例外列表中,完全不打擾您的操作。

Windows 7 的防火牆也能支持哦:

尊重每個人的操作習慣

我比較注重操作體驗,我的工具對於這個理念也有很好的支持,從啟動網站的那一刻起就開始了。

當您將一個目錄加載為網站時,將會出現以下對話框,問您要選擇什麼樣的浏覽器來浏覽網站:

注意了,下面還有一個小勾勾,有時也很方便哦。

即使您當時選擇了一個浏覽器,後面想更換浏覽器,也很簡單。看下圖:

用文字描述就是:右擊系統托盤圖標,點擊【選擇浏覽器】菜單。此時將出現以下對話框:

仍然可以讓您選擇其它的浏覽器。我裝了5種浏覽器,你裝了幾種呢?

內置多標簽浏覽器支持

我的這個小工具,它內置一個多標簽的浏覽器(IE內核),哪怕您的機器上只安裝了IE6,仍然可以享受多標簽的功能。而且切換有二種方式哦:

注意:點擊窗口右上角的關閉按鈕,程序並沒有完全退出。要退出程序請右擊拖盤圖標,並點擊【退出】菜單。

而且對於在內置浏覽器的工作模式時,還可以右擊任務欄,直接退出程序。如下圖(好像不支持Win7):

啟動參數及配置文件

我的這個小工具,為了能提供一些人性化的支持,可以在啟動時設置一些啟動參數。此時需要從Windows開始菜單中啟動它,此時的啟動界面如下:

注意哦:當您設置好相關的啟動參數後,可以將它保存起來,對話框上面有個【另存為】按鈕,此時程序將會把這些參數保存為一個siteconfig文件。

一個siteconfig文件可以保存一個網站在啟動時FishAspnetLoader所需的配置參數。

為了方便操作,您可以將經常浏覽的網站或目錄的配置參數保存到一個siteconfig文件中。

當您在資源管理器的文件夾上右擊菜單或從命令行傳遞一個目錄時,

FishAspnetLoader會在安裝目錄中查找是否存在關於這個目錄的配置,

如果沒有,則繼續查找目標目錄下有沒有相關的配置文件,

如果沒有,還會查找【我的文檔】目錄有沒有相關的配置文件。

如果發現有相關的配置文件,則讀取那個配置文件。

當您從“開始菜單”中啟動FishAspnetLoader時,程序會顯示“設置啟動參數”對話框。

如果您只是固定的浏覽一個目錄或本機網站,則可以將當前設置保存為一個名為:default.siteconfig的文件。

或者,如果是將網站“當成工具”來發布,也可以事先准備好這個文件。那麼以後將不會出現這個對話框。

當您從“資源管理器”的右鍵菜單或命令行傳遞一個目錄路徑時,且在沒有找到有關這個目錄的配置時,

FishAspnetLoader會查看那個目錄下是否存在web.config ,如果存在這個文件,則加載Asp.net Runtime,否則不加載,以加快啟動速度。

如果這種判斷方式對於某個目錄不適用時,請從“開始菜單”中啟動FishAspnetLoader,並為這個目錄創建一個siteconfig文件以指定合適的參數。

啟動配置文件,是為了讓您能更好定制程序運行行為而設計的,我特別提供一些參數,可以讓網站在內置的浏覽器更好地偽裝成普通桌面程序。

不僅如此,工具還支持命令行的啟動方式,可以接收一個siteconfig文件,您只要寫個批處理並在做安裝包時運行批處理就好了。

或者參考我的另一個工具的安裝包的快捷方式做法。那個工具的啟動命令行更簡單。

也可以參考這個演示程序的配置文件。

總之:還是為了讓您方便地使用這個工具。

支持 .NET 4.0

說明:運行本程序僅需要 .net Frarmework 2.0

但是,如果您要運行的網站是基於ASP.NET 3.5的,那麼您需要安裝 .net 3.5,要運行 .net 4.0的網站,要安裝 .net 4.0

如果您的機器上已經安裝了 .net framework 4.0 ,而且希望啟用 .net 4 的支持。

只需要將安裝目錄下的文件【FishAspnetLoader.exe.config.bak】改名成【FishAspnetLoader.exe.config】即可。

部署問題

在本文結尾,我提供這個工具的安裝包,安裝包中還包含了一些其它的文件。提供安裝包只是為了讓您更方便地使用我的工具而已。

如果您有一個網站,且希望由我的工具來啟動並以桌面程序的方式來運行,那麼只需要在安裝後,把FishAspnetLoader.exe這一個程序拿出來就行了,你可以把FishAspnetLoader.exe放在您的安裝包中,並提供一個siteconfig文件,然後以命令行的方式啟動我的工具就行了。具體做法請參考我的博客:

通用數據訪問層及Ajax服務端框架的綜合示例,展示與下載

發一款數據庫的輔助工具:My-SqlViewer

上述軟件打包下載

原文: cnblogs.com fish-li

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved