自托管 asp.net mvc
Posted
技术标签:
【中文标题】自托管 asp.net mvc【英文标题】:self hosting asp.net mvc 【发布时间】:2012-05-09 20:58:54 【问题描述】:是否可以在另一个应用程序中自行托管 asp.net mvc,即。控制台、窗体、服务等。
我想构建一个提供 Web 界面来控制它的应用程序,我想使用 asp.net mvc 作为它的 Web 部分。
我确实快速浏览了一下 Nancy,它看起来可以工作,虽然它不是 asp.net mvc,但它确实支持 razor,尽管它对它的支持水平与 asp.net 不完全相同(例如。强类型视图)
我也确实找到了这个问题,但它并没有真正深入 Possible to use ASPNET MVC2 without IIS?
【问题讨论】:
【参考方案1】:您可以使用“IIS 7.0 Hostable Web Core”并将 Web 服务器托管为任何用户进程的一部分,甚至是控制台应用程序。好处是它与完整的 IIS(包括配置等)非常相似,但 Web 服务器本身正在您的进程中运行。
看看以下文章:
-
Host your own Web Server in your application using IIS 7.0 Hostable Web Core
Creating Hosted Web Core Applications
【讨论】:
非常好!如果没有其他人可以添加任何内容,将标记为答案 这看起来不错,直到我读到运行代码的计算机必须安装 IIS7,即使您的代码托管在您自己的进程中。【参考方案2】:请看http://cassinidev.codeplex.com/ 例如它有很多优点
客户端机器上不需要 IIS 7 支持 MVC(我自己测试过) 与 Windows 窗体和 Web 浏览器控件配合使用,以打包为 Windows 应用程序 Cross Win OS 平台(Windows XP、Vista、7)我已经测试安装了 .NET 4 的 XP希望这会有所帮助。
【讨论】:
它可以在用户进程中运行,也可以使用命令行参数在自己的托管进程中运行。要在您自己的进程中运行它,您只需引用 .NET 程序集并调用函数来启动或停止服务器(在自己的线程上运行)。【参考方案3】:我知道这个问题很老,但它仍然很重要,因此使用 .NET Core 1.0 + ASP.NET MVC 6,您可以轻松地自托管您的 MVC 应用程序。您甚至可以将 MVC 和 WebAPI 应用程序合二为一,您可以稍后再决定是否要使用 IIS、IIS Express 或 .NET Core 的自托管功能。
如果您遵循这篇文章中的 Yeoman 方法,您可以尝试一下: https://***.com/a/30314393/980247
【讨论】:
ASP.NET Core MVC != ASP.NET MVC。也没有“ASP.NET MVC 6”(因为它的正式名称是 ASP.NET Core MVC 1.0)。对于这个问题,在这里给出这样的答案并不是一个好主意。 如您所见,2016-2017 年命名约定发生了变化:c-sharpcorner.com/article/… 肯定有一个更新的答案会很棒,所以请添加一个新的答案如果您愿意,可以选择当前版本。以上是关于自托管 asp.net mvc的主要内容,如果未能解决你的问题,请参考以下文章
使用 jscript 和控制器操作将数据添加到使用 MVC ASP.net 的数据库
如何在 MVC ASP.NET 中的手机号码前添加默认(默认为浏览器国家)国家代码?