【问题标题】:Can I start ASP.NET MVC server from code我可以从代码启动 ASP.NET MVC 服务器吗
【发布时间】:2012-08-28 10:01:24
【问题描述】:

我编写了一个 ASP.NET MVC3 站点(它包含数据模型、控制器和视图)。但我想从代码开始托管这个网站,而不是使用 IIS。
我的意思是,例如,像这样的控制台应用程序:

int Main(string[] argv)
{
    Console.WriteLine("starting web application");
    var webStarter = new SomeWebServerStartingClass(typeof(MvcApplication), 80);
    webStarter.Run();
    Console.WriteLine("closing web application");
}

webStarter.Run(); 线上的网络应用程序托管在 80 端口上,用户可以从互联网访问它。

ps。我在一家开发计算机视觉软件的公司工作。我们的程序实现为 Windows 服务。现在我们需要在每个产品中创建监控模块。这个监控模块将是 asp.net mvc 项目。我想从代码开始托管它

pps。我不想使用 IIS,我只想从控制台应用程序运行这个 Web 项目。想要开始接收指定端口上的请求,就像在 IIS 中打开这个 webapp 一样

pps。也许,我想要一个可以在代码中托管网站的简单包

pppps:我阅读了关于自我托管的信息并了解我想要什么:我想要 ASP.NET Web API Self-Host 之类的东西,但对于带有 html 控制器的 MVC 应用程序

还是对不起英文

【问题讨论】:

  • 能否提供明确的要求?它根本没有意义。即你想发布项目?或在 IIS 中启动/停止应用程序池?还是不按 F5 运行项目?
  • 您的意思是您正在寻找一个可以托管 ASP.NET MVC 并具有开放 API 进行控制的小型 Web 服务器?

标签: c# asp.net-mvc host


【解决方案1】:

也许您正在寻找这样的产品?

http://ultidev.com/products/UWS-Cassini-Pro/

注意:我还没有尝试过,但它似乎可以做到你想要的。

【讨论】:

  • 不,我不需要应用程序,我需要一个库。这仍将是我们公司的应用程序,但它将多一个线程来托管 Web 应用程序
  • 好的,它看起来像我需要的,但不起作用。现在我可以说出我需要什么了——我需要在程序集中使用 webserver——程序集我可以添加到我的控制台项目引用中,这将为我提供 API 来从代码托管 mvc 项目站点
  • 我知道的不多,但这看起来像其他人有类似的问题:stackoverflow.com/questions/462444/embedded-asp-net-web-server
【解决方案2】:

虽然这个问题相当古老,但我只想指出,使用 mono 项目中的 xsp 可以满足您的需求。

您需要的程序集是 * Mono.Security.dll * Mono.WebServer2.dll

有一篇 2005 年的博客文章描述了如何使用它 http://weblogs.asp.net/britchie/archive/2005/07/25/embedding-xsp-mono-webserver-in-your-application.aspx

【讨论】:

    【解决方案3】:

    已经好几年了,答案并没有变得更好。 :)

    CassiniDev 目前看来是个不错的选择,如果您在 Windows 上运行的话。

    OWIN+Katana 是本月的热门话题,但作为 Microsoft 支持的项目,它提出了重要的生活问题,例如“我要依赖 Microsoft 支持的开源项目吗?”和“为什么每个例子都如此强调它'易于使用',而它显然有点复杂?”

    如果您不在 Windows 上,那么您就有麻烦了。我一直在寻找支持单声道和“Web 表单”(又名 aspx 页面)的自托管、可嵌入的 ASP.NET 服务器。我找到的最接近的是 github 上的 mono branch of grendello's fork of the CassiniDev library (whew)。这些更改没有被合并到 CassiniDev 主干中,我还没有尝试过,但代码看起来是正确的,主要是路径分隔符和一个 DLL 链接在不在 Windows 上时的删除。 p>

    【讨论】:

      猜你喜欢
      • 2016-11-12
      • 1970-01-01
      • 2019-04-14
      • 1970-01-01
      • 1970-01-01
      • 2014-09-28
      • 1970-01-01
      • 2017-06-21
      • 2016-03-12
      相关资源
      最近更新 更多