打包Asp.Net 网站成为一个exe 方便快捷的进行客户演示

技术小阿哥 2017-11-15

浏览器 IIS Server 网站开发 asp 网站发布

在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和网站打包在一起,可能是比较好的选择吧。



本文转自 powertoolsteam 51CTO博客,原文链接:http://blog.51cto.com/powertoolsteam/494803,如需转载请自行联系原作者

登录 后评论
下一篇
云栖号资讯小编
1530人浏览
2020-04-07
相关推荐
C#开源系统大汇总
1196人浏览
2015-07-26 18:46:00
C#开源项目介绍
1838人浏览
2017-11-14 18:05:00
.NET 使用 NuGet 管理项目库
842人浏览
2014-11-30 08:32:00
如何内网搭建NuGet服务器
1205人浏览
2017-10-30 19:00:00
0
0
0
769