佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > ASP.NET也像WinForm程序一樣運(yùn)行的實現(xiàn)方法

ASP.NET也像WinForm程序一樣運(yùn)行的實現(xiàn)方法

熱門標(biāo)簽:銀行業(yè)務(wù) 服務(wù)器配置 Linux服務(wù)器 團(tuán)購網(wǎng)站 科大訊飛語音識別系統(tǒng) 阿里云 電子圍欄 Mysql連接數(shù)設(shè)置
由于現(xiàn)在會使用WinForm的人是越來越少了,可能有時候做點(diǎn)小東西就只好用ASP.NET去完成了(喜歡控制臺的朋友請不要頂針),如果是這樣,悲劇就發(fā)生了:一個小工具(或者小的演示項目),發(fā)給朋友去用,總不至于讓人家也裝個IIS或者VS20XX吧?如果沒有這二樣,這種小工具還真不方便運(yùn)行。怎么辦?做過ASP.NET開發(fā)的人都知道:網(wǎng)站通常要布署到IIS上才能直接運(yùn)行,當(dāng)然也不排除你用VS打開項目并使用VS自帶的WebDev.WebServer.exe來啟動程序。這種方式難免有不方便的時候。

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

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

操作方式

工具好不好用,操作的易用性很關(guān)鍵,來看看我的工具是如何啟動一個網(wǎng)站的。

在Windows資源管理器中,找到您要啟動的網(wǎng)站所在目錄,右擊鼠標(biāo),如下圖:

此時只要點(diǎn)擊【用FishAspnetLoader加載此目錄為網(wǎng)站】即可。

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

網(wǎng)站的運(yùn)行效果如下:

您說現(xiàn)在是不是一個WinForm程序在運(yùn)行?

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

現(xiàn)在像個WinForm程序了吧。

支持的ASP.NET程序類別

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

所以,理論上,只要是一個ASP.NET程序,應(yīng)該都是可以運(yùn)行的,程序會自動識別,也不需要做任何設(shè)置。還是那句話:【只要右擊鼠標(biāo),點(diǎn)一下菜單就行了】。

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

它也是個HTTP服務(wù)器

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

來張列目錄的效果圖:

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

很遺憾,我好久沒做那種純靜態(tài)頁面的網(wǎng)站了,就不截圖展示了。我想你懂的。

支持遠(yuǎn)程機(jī)器訪問

看到上一張截圖,您有沒有一種想法:以后如果有人找我要文件,我就讓他們?nèi)ハ螺d呀,這樣比共享目錄還安全呢。

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

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

用文字描述就是:右擊系統(tǒng)托盤圖標(biāo),點(diǎn)擊【設(shè)置安全參數(shù)】菜單。此時將出現(xiàn)以下對話框:

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

不受限于Windows防火墻

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

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

尊重每個人的操作習(xí)慣

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

當(dāng)您將一個目錄加載為網(wǎng)站時,將會出現(xiàn)以下對話框,問您要選擇什么樣的瀏覽器來瀏覽網(wǎng)站:

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

即使您當(dāng)時選擇了一個瀏覽器,后面想更換瀏覽器,也很簡單??聪聢D:

用文字描述就是:右擊系統(tǒng)托盤圖標(biāo),點(diǎn)擊【選擇瀏覽器】菜單。此時將出現(xiàn)以下對話框:

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

內(nèi)置多標(biāo)簽瀏覽器支持

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

注意:點(diǎn)擊窗口右上角的關(guān)閉按鈕,程序并沒有完全退出。要退出程序請右擊拖盤圖標(biāo),并點(diǎn)擊【退出】菜單。

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

啟動參數(shù)及配置文件

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

注意哦:當(dāng)您設(shè)置好相關(guān)的啟動參數(shù)后,可以將它保存起來,對話框上面有個【另存為】按鈕,此時程序?qū)堰@些參數(shù)保存為一個siteconfig文件。

一個siteconfig文件可以保存一個網(wǎng)站在啟動時FishAspnetLoader所需的配置參數(shù)。

為了方便操作,您可以將經(jīng)常瀏覽的網(wǎng)站或目錄的配置參數(shù)保存到一個siteconfig文件中。

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

FishAspnetLoader會在安裝目錄中查找是否存在關(guān)于這個目錄的配置,

如果沒有,則繼續(xù)查找目標(biāo)目錄下有沒有相關(guān)的配置文件,

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

如果發(fā)現(xiàn)有相關(guān)的配置文件,則讀取那個配置文件。

當(dāng)您從“開始菜單”中啟動FishAspnetLoader時,程序會顯示“設(shè)置啟動參數(shù)”對話框。

如果您只是固定的瀏覽一個目錄或本機(jī)網(wǎng)站,則可以將當(dāng)前設(shè)置保存為一個名為:default.siteconfig的文件。

或者,如果是將網(wǎng)站“當(dāng)成工具”來發(fā)布,也可以事先準(zhǔn)備好這個文件。那么以后將不會出現(xiàn)這個對話框。

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

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

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

啟動配置文件,是為了讓您能更好定制程序運(yùn)行行為而設(shè)計的,我特別提供一些參數(shù),可以讓網(wǎng)站在內(nèi)置的瀏覽器更好地偽裝成普通桌面程序。

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

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

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

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

支持 .NET 4.0

說明:運(yùn)行本程序僅需要 .net Frarmework 2.0

但是,如果您要運(yùn)行的網(wǎng)站是基于ASP.NET 3.5的,那么您需要安裝 .net 3.5,要運(yùn)行 .net 4.0的網(wǎng)站,要安裝 .net 4.0

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

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

部署問題

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

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

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

發(fā)一款數(shù)據(jù)庫的輔助工具:My-SqlViewer

上述軟件打包下載

原文: cnblogs.com fish-li

您可能感興趣的文章:
  • C# WinForm 判斷程序是否已經(jīng)在運(yùn)行,且只允許運(yùn)行一個實例,附源碼
  • WinForm實現(xiàn)程序一段時間不運(yùn)行自動關(guān)閉的方法
  • .Net WInform開發(fā)筆記(二)Winform程序運(yùn)行結(jié)構(gòu)圖及TCP協(xié)議在Winform中的應(yīng)用
  • c# Winform 程序自動更新實現(xiàn)方法
  • C#中WinForm程序退出方法技巧總結(jié)
  • C# WinForm應(yīng)用程序降低系統(tǒng)內(nèi)存占用方法總結(jié)
  • C# WinForm程序完全退出的問題解決
  • 解讀在C#中winform程序響應(yīng)鍵盤事件的詳解
  • .Net中導(dǎo)出數(shù)據(jù)到Excel(asp.net和winform程序中)
  • WinForm防止程序重復(fù)運(yùn)行的方法分析

標(biāo)簽:棗莊 廣元 大理 萍鄉(xiāng) 江蘇 衢州 衡水 蚌埠

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ASP.NET也像WinForm程序一樣運(yùn)行的實現(xiàn)方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    玉树县| 阜康市| 岳阳县| 潢川县| 玉田县| 淅川县| 凤山市| 普兰店市| 宁明县| 新平| 安徽省| 大英县| 衡阳市| 元阳县| 宜都市| 芦溪县| 双鸭山市| 静乐县| 高雄县| 翁源县| 筠连县| 上林县| 建瓯市| 屏东县| 刚察县| 密山市| 蕉岭县| 乐安县| 平武县| 民乐县| 东光县| 黄山市| 云阳县| 昆山市| 明光市| 陇西县| 长顺县| 商城县| 南木林县| 永德县| 额敏县|