ASP.NET跨平台佳实践跨平台佳实践
前言
八年的坚持敌不过领导的固执,终还是不得不阔别已经成为我第二语言的C#,转战Java阵营。有过短暂的失落和迷茫,
但技术转型真的没有想象中那么难。回头审视,其实单从语言本身来看,C#确实比Java更(并非C#天生丽质,而是它站在了
巨人的肩膀上)。
本文并非为.NET正名而来,而仅仅是分享作者近几年在ASP.NET跨平台方面的研究与实践经验,算是对八年的.NET之路
作一个阶段性的总结。
.NET技术自诞生以来,便一直因其跨平台能力差而广受诟病。这里面有微软有意为之,也有别有用心之人在混淆视听。
.NET在一开始便是按公开的语言规范进行设计,随着微软的逐渐妥协,.NET Framework已完全开源。.NET跨平台技术迎来了
前所未有的机会,各种.NET跨平台技术必将如雨后春笋般涌现。本文将介绍作者在.NET跨平台方面的佳实践经验,希望藉以
降低.NET跨平台的技术难度,让.NET真正成为跨平台的生产技术。
环境
操作系统选择开源社区较有代表性的Linux服务器版本CentOS(本文所述的跨平台思路可以成功应用于绝大多数的Linux
系统,也包括国产操作系统如中标麒麟);技术平台选择久负盛名的Mono;Web应用中间件选择中国制造的Jexus。涉及的
环境与技术详细情况为:
操作系统:CentOS_6.4_64bit
.NET框架:Mono_4.0.4.1
Web应用中间件:Jexus_5.6.5
数据库:MySQL_5.1.73
目标
本文所述实践,将实现ASP.NET应用程序在Linux系统进行部署,并作产品化尝试,使ASP.NET应用在Linux平台易于部
署和维护。
Web应用程序
本文的Web应用程序选用ASP.NET MVC 4技术开发,持久层选用ADO.NET Entity Framework 6技术。你可以在src/demo
目录下找到它。
跨平台部署
一、安装系统
小化安装CentOS系统。作为实验环境,可以考虑选用具有快照功能的虚拟机,作者选用的VMWare虚拟机进行试验。系
统安装在此不再赘述。系统安装好后,做一个快照留待后续验证产品化安装包正确性所用。
如果你对跨平台部署ASP.NET应用的实现过程没有兴趣,只想看结果的话,可以直接跳过后续步骤,直接进入产品化章
节的通过安装包部署ASP.NET应用部分。
二、搭建Linux编译环境
由于本文选择源码安装Mono,所以需要先搭建Linux编译环境。搭建Linux编译环境需要让系统连接互联网,并进行系统
更新。
首先,需要让你的系统连接互联网。此处以VMWare虚拟机为例讲解如何连接互联网。VMWare虚拟机连接互联网的方式
很多,作者选择NAT方式,首先需要将虚拟机网络连接方式设为NAT,如图 1所示。