您的位置:网站首页 > asp源码 > 正文

从一个简单的ASPNET 5站点NET跨平台之旅

类别:asp源码 日期:2015-7-6 9:14:45 人气: 来源:

  在经历了阿里云上“黑色1秒”的空欢喜之后,我们“”考虑实现的跨平台,将Web服务器由Windows换成Linux。而这种“”在一个存在已久的愿望下,变得水到渠成。这个愿望就是 —— “Mac上写.NET程序,Linux上跑.NET程序”。

  AD:

  在经历了阿里云上“黑色1秒”的空欢喜之后,我们“”考虑实现.NET的跨平台,将Web服务器由Windows换成Linux。而这种“”在一个存在已久的愿望下,变得水到渠成。这个愿望就是 “Mac上写.NET程序,Linux上跑.NET程序”。

  既然水也到了,渠也成了,那我们还等什么,动身起程吧。

  今天我们以我们迈出的第一步一个部署在Linux上基于dnx/corefx/coreclr的非常简单的ASP.NET 5/MVC 6站点宣布“.NET跨平台之旅”了!

  这个基于跨平台.NET的站点已经上线,访问网址:。

  该站点部署在CentOS服务器上(部署步骤),服务器上只安装了dnx,没有安装mono,所以是完全基于.NET Core运行。后端Web服务器用的是Kestrel,也是目前跨平台.NET在非Windows平台上唯一能用的Web服务器。

  CentOS服务器上运行情况如下:

  前端Web服务器用的是阿里云SLB(负载均衡),如果不用SLB,可以直接在CentOS上用nginx做反向代理。为什么要用前端Web服务器?因为Kestrel Web服务器实在太简陋了,连keep-alive与http compression的功能都没有。

  该站点的ASP.NET 5程序是在Ubuntu服务器上用vim进行开发的。

  项目文件结构如下:

  这个ASP.NET 5程序的代码是一步一步从无到有用vim手写出来的(除了视图与HtmlHelperExtensions), 从中更深刻地了解了ASP.NET 5的一些工作原理,从而也得到了一个运行这个简单的ASP.NET 5程序所需的最小配置。

  在开发过程中最痛苦的是修改代码后ASP.NET 5不会自动重新编译,需要重新用dnx运行程序;而且Kestrel目前有bug,无法退出,即使关闭ssh窗口,也照样运行,必须用非常规手段强制结束 进程(ps all; kill -9 [PID])。但Kestrel的这个bug却带来一个让人惊喜的副作用,正因为它一启动就一直运行,怎么也不会退出,相当于以一种后台服务的方式运行, 一下子解决了部署时如何后台运行ASP.NET 5站点的问题。

  虽然只是一个非常简单的ASP.NET 5程序,虽然只是.NET跨平台之旅非常非常小的一步,但它却是重要的一步,因为它让我们实实在在地感受到了.NET跨平台,在脚下。

  【更新】

  15:35左右,出现异常造成kestrel退出,重新运行dnx之后恢复正常。异常信息如下:

关键词:asp.net
0
0
0
0
0
0
0
0
下一篇:没有资料

相关阅读

网友评论 ()条 查看

姓名: 验证码: 看不清楚,换一个

推荐文章更多

热门图文更多

最新文章更多

关于联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助

CopyRight 2002-2012 技术支持 源码吧 FXT All Rights Reserved

赞助合作: