【问题标题】:Running MVC application as a standalone app将 MVC 应用程序作为独立应用程序运行
【发布时间】:2015-10-06 06:47:58
【问题描述】:
我们能够创建一个 node js web 应用程序(html、css、angular js 和 node js)并在 node-webkit 中打包以将其作为独立应用程序运行。这就像一个魅力!!!。
与此类似,我们希望将 .net MVC Web 应用程序打包为独立应用程序并将其作为独立应用程序运行。这是为了将应用程序轻松发送给任何所需的利益相关者所必需的。
目前,不确定实现此要求的方法。话虽如此,以下是问题
- 是否可以将 .net Web 应用程序转换为独立应用程序?
- 如果可能的话,实现这一要求的建议方法是什么?
【问题讨论】:
标签:
.net
asp.net-mvc
desktop-application
node-webkit
web-application-project
【解决方案1】:
我能够使用 UltiDev Cassini Web Server Pro 实现这一要求。这为托管 ASP.net 应用程序提供了一个带有集成 Cassini Web 服务器的轻量级环境。它也支持 MVC4 应用程序。
为此,我按照以下步骤操作:
- 在本地安装了 ultidev cassini web server pro。
- 已将我的 MVC4 应用程序代码发布到适当的位置。
- 为使用 UltiDev Web Server Pro 作为可再发行组件的应用程序创建了安装屏蔽限量版设置。输出是一个
与 Web 服务器一起打包的 setup.exe。因此,我没有
要求 IIS 预安装在目标机器上
需要设置应用程序。
- 在目标机器上安装 Setup.exe 执行以下步骤
- 已安装 .net 4.0(包含为可再发行版本)
- 已安装 UltiDev Cassini Web 服务器
- 允许用户选择放置网站的目标文件夹。
- 安装成功后,UltiDev Web 服务器会自动启动并启动 MVC 应用程序。这是使用安装程序自定义操作和适当的命令行来完成的,以在成功安装的瞬间启动服务器、注册应用程序并启动应用程序。
- 成功后,将应用程序注册到 Web 服务器,将创建桌面快捷方式来启动 Web 应用程序。只有在 UltiDev Web 服务器正在运行时,运行此快捷方式才能成功启动 Web 应用程序。
- 为了让 Web 服务器始终正常运行,我们可以考虑在 service.msc 中启动服务,作为安装程序自定义操作的一部分。
按照上面列出的步骤,我能够在目标机器上安装一个 Web 应用程序并在不使用 IIS 的情况下运行它。希望这些信息有帮助!!! :)
【解决方案2】:
据我所知,您不能自行托管(也就是独立运行)MVC 应用程序,因为它依赖于 IIS。
【解决方案3】:
如果利益相关者安装了 IIS 和 asp.net,您可以向他们发送 Web 部署包。否则我认为你缺乏 asp.net 的先决条件。