微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp.net-core – MVC 6安装为Windows服务(ASP.NET Core 1.0.0)

更新 – 2016年7月26日

在下面的答案中,我已经在ASP.NET Core 1.0.0中添加解决方案.

我已经创建了一个简单的MVC 6应用程序,并且包含了Microsoft.AspNet.WebListener库,所以我可以在IIS之外托管.

从project.json:

"dependencies": {
    "Microsoft.AspNet.Server.WebListener": "1.0.0-beta4","Microsoft.AspNet.Mvc": "6.0.0-beta4"
},"commands": {
    "web": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.WebListener --server.urls http://localhost:5000"
}

当我发布这个,我可以运行web.cmd文件,让网站在控制台窗口中运行.大!

但是在OWIN中,您可以使用TopShelf从控制台应用程序启动您的Web应用程序.然后可以将其构建为可执行文件,并作为Windows服务安装.

有没有办法使用ASP.NET 5 MVC 6网络应用程序?

解决方法

您可以将DNX应用程序作为Windows服务运行,但是无法直接运行CMD文件.您会收到以下错误信息:“服务没有及时响应启动或控制请求.”您可以直接指向dnx.exe,并将项目文件夹和命令作为参数传递.

阅读这篇文章更多的细节:http://taskmatics.com/blog/run-dnx-applications-windows-service/

一旦你的应用程序设置了.您可以从服务的OnStart方法引导ASP.NET.为此,您可以使用Microsoft.AspNet.Hosting中的WebHostBuilder.

最后,您可以通过将参数(如“非服务”)传递给Main方法,并在调用ServiceBase.Run之前检查该应用程序是否仍然可以运行,如果存在,您可以直接调用OnStart.该项目的属性使您可以在VS中运行时传递参数.

更新:

一个后续的帖子建立在上面的一个.它显示了如何在Windows服务中使用静态文件和MVC 6运行ASP.NET 5.链接在这里http://taskmatics.com/blog/host-asp-net-in-a-windows-service/

原文地址:https://www.jb51.cc/netcore/250678.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐