2

我编写了一个 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 端口上,用户可以从互联网访问它。

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

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

购买力平价。也许,我想要一个可以在代码中托管网站的简单包

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

还是对不起英语

4

3 回答 3

1

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

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

注意:我没有尝试过,但它似乎可以满足您的要求。

于 2012-08-28T10:54:13.410 回答
0

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

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

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

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

于 2015-03-03T19:02:51.400 回答
0

尽管这个问题相当古老,但我只想指出,使用 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

于 2014-05-21T14:43:30.910 回答