我不想走 Silverlight/WPF 路线,而是想用 MVC3 作为后端在 HTML5 中构建我的(单用户)应用程序。这可能吗?将其用于独立的桌面应用程序是否可能或实用?
我可以在 IIS 中设置它然后离开,但这不是我的想法 - 它不可移植,需要一个固定的目录,而且我不能在不安装 IIS 的情况下在任何地方启动我的应用程序!
我不想走 Silverlight/WPF 路线,而是想用 MVC3 作为后端在 HTML5 中构建我的(单用户)应用程序。这可能吗?将其用于独立的桌面应用程序是否可能或实用?
我可以在 IIS 中设置它然后离开,但这不是我的想法 - 它不可移植,需要一个固定的目录,而且我不能在不安装 IIS 的情况下在任何地方启动我的应用程序!
我已经尝试了一个独立的进程内基于 .Net 的 Web 服务器,它能够托管 MVC 应用程序 - 这当然是可能的,您可以在独立应用程序中使用这样的 Web 服务器,或者与 Windows 应用程序中的 Web 浏览器控件结合使用,或者只是使用类似于 Visual Studio 2010 中帮助系统工作方式的普通浏览器。
有几个选项可用:
关于使用 IIS 可托管 Web 核心的另一个问题有一个答案,它看起来非常整洁,但是需要在机器上安装 IIS 7。
或者,我尝试自己编写一个小型 Web 服务器来实现这一点。它真的不那么难,但棘手的事情是让我的 Web 服务器在处理 ASP.Net 请求时表现得与 IIS 完全一样。尽管它至少适用于某些 MVC 应用程序,但它肯定不适用于所有MVC 应用程序,并且几乎可以肯定需要一定数量的“调整”才能使其一切正常工作,具体取决于 MVC 应用程序的复杂性。
如果您想了解它是如何工作并尝试编写自己的(或根据您自己的目的调整它 - 如果您想要它的非开源许可版本,那么请询问),我写的那个可以在 CodePlex 上找到
如果你想要一个工作的 Web 服务器,尽管 C# WebServer 是一个更好的选择(虽然我没有真正使用过它,所以不太了解它是如何工作的)。
(我可能会在这些日子里完成我的网络服务器,但目前我有太多其他项目!)
想到的第一个选项是使用IIS Express,它基本上是一个你可以随身携带的小 IIS。不过,在这种情况下,我不知道您的应用程序的安装故事是什么(您是否必须安装 IIS Express,然后是您的应用程序,或者您是否可以一次性完成所有操作)。