我不想沿着Silverlight / WPF路线走下去,而是想用HTML5构建我的(单用户)应用程序,并将MVC3作为后端。这可能吗?将它用于独立桌面应用程序是否可行或实用?
我可以在IIS中进行设置然后离开,但这不是主意 - 它不可移植,需要一个固定的目录,而且我不能只在我没有安装IIS的情况下启动我的应用程序!
答案 0 :(得分:1)
我已经尝试了一个独立的基于进程.Net的Web服务器,该服务器能够托管MVC应用程序 - 它当然是可能的,您可以在独立应用程序中使用这样的Web服务器,或者与Web浏览器控件一起使用一个Windows应用程序,或者只是一个普通的浏览器,类似于Visual Studio 2010中的帮助系统的工作方式。
有几种选择:
有一个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,然后是您的应用程序,或者您是否可以一次性完成所有操作)。