独立MVC3 webapp?

时间:2011-07-20 12:51:05

标签: .net asp.net-mvc-3 offlineapps

我不想沿着Silverlight / WPF路线走下去,而是想用HTML5构建我的(单用户)应用程序,并将MVC3作为后端。这可能吗?将它用于独立桌面应用程序是否可行或实用?

我可以在IIS中进行设置然后离开,但这不是主意 - 它不可移植,需要一个固定的目录,而且我不能只在我没有安装IIS的情况下启动我的应用程序!

2 个答案:

答案 0 :(得分:1)

我已经尝试了一个独立的基于进程.Net的Web服务器,该服务器能够托管MVC应用程序 - 它当然是可能的,您可以在独立应用程序中使用这样的Web服务器,或者与Web浏览器控件一起使用一个Windows应用程序,或者只是一个普通的浏览器,类似于Visual Studio 2010中的帮助系统的工作方式。

有几种选择:

  • Neokernel(不免费)
  • C# WebServer(开源)
  • IIS Express可能是一个选项,但据我所知,重点是提供一个用于开发的Web服务器,所以在momoment我不确定可再发行组件是否可用。

有一个answer on another question涵盖了使用IIS托管的Web核心,看起来非常整洁,但要求在机器上安装IIS 7.

或者我自己写了一个小型的Web服务器就是这样做的。它确实不是那么难,但棘手的是让我的Web服务器的行为与处理ASP.Net请求时的IIS完全一样。虽然它确实可以与至少一些MVC应用程序一起使用,但它绝对不适用于所有 MVC应用程序,并且几乎肯定需要一定量的“调整”才能使一切工作取决于MVC应用程序的复杂性。

我写的那个on CodePlex如果你想看看它是如何工作的并且自己编写(或者根据你自己的目的进行调整 - 如果你想要一个非开源许可版本那么只是问)

如果你想要一个有效的网络服务器,虽然C#WebServer是一个更好的选择(虽然我没有真正使用它,所以不太了解它是如何工作的。)

(我可能会在其中一天完成我的网络服务器,但目前我有太多其他项目!)

答案 1 :(得分:0)

首先想到的选择是使用IIS Express,这基本上是一个可以随身携带的小IIS。在这种情况下,我不知道您的应用程序的安装故事是什么(无论您是否必须安装IIS Express,然后是您的应用程序,或者您是否可以一次性完成所有操作)。