ASP.NET也像WinForm程序一样运行的实现方法

由于现在会使用WinForm的人是越来越少了,可能有时候做点小东西就只好用ASP.NET去完成了(喜欢控制台的朋友请不要顶针),如果是这样,悲剧就发生了:一个小工具(或者小的演示项目),发给朋友去用,总不至于让人家也装个IIS或者VS20XX吧?如果没有这二样,这种小工具还真不方便运行。怎么办?做过ASP.NET开发的人都知道:网站通常要布署到IIS上才能直接运行,当然也不排除你用VS打开项目并使用VS自带的WebDev.WebServer.exe来启动程序。这种方式难免有不方便的时候。

我平时就喜欢写些小工具,还好,我会WinForm,所以这个问题还好解决。但有时我要把一些小的网站作品给别人使用时,同样会遇到这种问题。终于我做了一个很方便的小工具,彻底地解决了ASP.NET网站不能像WINFORM那样运行的难题。今天,我给大家演示一下这个小工具(它非常小,还不到300K),我相信你会喜欢它的。

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

操作方式

工具好不好用,操作的易用性很关键,来看看我的工具是如何启动一个网站的。

在Windows资源管理器中,找到您要启动的网站所在目录,右击鼠标,如下图:

ASP.NET也像WinForm程序一样运行的实现方法

此时只要点击【用FishAspnetLoader加载此目录为网站】即可。

是的,我没说错,这样就可以了,任何目录都可以,也不需要您把什么什么文件拷贝到什么地方,【只要右击鼠标,点一下菜单就行了】。

网站的运行效果如下:

ASP.NET也像WinForm程序一样运行的实现方法

您说现在是不是一个WinForm程序在运行?

你说什么,没有对话框?那你再来看:

ASP.NET也像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运行时环境。

来张列目录的效果图:

ASP.NET也像WinForm程序一样运行的实现方法

还有一点要补充:与WebDev.WebServer.exe不同,只要是Windows能支持的文件名或者目录名,我的工具就能支持,与IIS的行为完全一致。

很遗憾,我好久没做那种纯静态页面的网站了,就不截图展示了。我想你懂的。

支持远程机器访问

看到上一张截图,您有没有一种想法:以后如果有人找我要文件,我就让他们去下载呀,这样比共享目录还安全呢。

哈哈,如果您有这种想法,那我要恭喜您了,您的安全觉悟还不错。是的,我的工具支持这个功能:可以让远程机器浏览【做为网站加载的目录】(并不是任何目录)。

为了安全,程序默认是不允许远程机器连接的,需要您来手工打开。操作也简单,如下图:

ASP.NET也像WinForm程序一样运行的实现方法

用文字描述就是:右击系统托盘图标,点击【设置安全参数】菜单。此时将出现以下对话框:

ASP.NET也像WinForm程序一样运行的实现方法

这个对话框很简单,我想您懂的,此处略过78个字.....

不受限于Windows防火墙

刚才说到可以让远程机器访问,这里有个问题:从WindowsXP开始,操作系统就集成了防火墙的功能,而且打开这个功能的机器还真不少。如果真是这样,前面所说的功能就要遇到问题了:可能会被防火墙阻拦!哦,这个工具太不完美了,人家什么什么工具怎么就没被防火墙拦住呢?幸好,我的工具不受这个问题的困扰,它能自动把它添加到Windows防火墙的例外列表中,完全不打扰您的操作。

ASP.NET也像WinForm程序一样运行的实现方法

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

ASP.NET也像WinForm程序一样运行的实现方法

尊重每个人的操作习惯

我比较注重操作体验,我的工具对于这个理念也有很好的支持,从启动网站的那一刻起就开始了。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wjjysy.html