自托管 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 中的手机号码前添加默认(默认为浏览器国家)国家代码?

配置 antiforgerytoken 单次使用 mvc asp.net

我如何根据 mvc asp.net 中的登录用户切换视图

在 MVC ASP.Net 中将插件添加到部分视图选择列表

自托管 asp.net mvc