我想知道开发带有在ASP.NET上部署选项的Linux MVC应用程序的最佳实践。如果您正在创建这类MVC应用程序,
发布于 2009-07-23 17:36:32
我工作的公司将Linux上的Mono作为我们的主要部署环境。因此,没有“额外”的工作-我们提供整个堆栈,从硬件,到操作系统(定制和修剪)到应用程序。使用开源为我们和我们的客户带来了巨大的节省(是的,我们确实为我们依赖的操作系统项目做出了贡献)。
重要的是要经常使用你的实际目标进行测试(对不起,Windows上的Mono不算数)。当然,开发人员使用Visual Studio,但是持续的集成(使用CruiseControl.Net,你需要Mono2.4.2才能在Linux上运行它)是在Windows和Linux上完成的,测试我们期望工作的所有Mono版本(它最近变得更加稳定,但仍然会在不同版本之间发生回归)。在一个*nix系统上运行parallel Mono versions是非常容易的,如果你想尽早捕获上游回归,你甚至可以包含一个svn快照构建。如果你没有推出自己的发行版,那么请记住,大多数Linux供应商提供的Mono都带有自定义补丁--这之前就给我们带来了问题。此外,许多发行版在更新Mono时有很多滞后,这是一个快速推进的项目。
对于数据库层,我们主要使用“普通”的ADO.NET - Oracle (有了dotConnect for Oracle,他们支持Mono)和SQLite (Mono附带了一个可用的连接器)。我也使用了官方的ADO.NET Driver for MySQL (Connector/NET),它也工作得很好。ORM映射更加棘手,但NHibernate是可用的(请记住,它们并不正式支持Mono )。
至于构建引擎和测试- NAnt和NUnit是众所周知的,也经过了很好的测试。最新版本的Mono xbuild (MSBuild的克隆)实际上是可用的,但如果你决定将其用于更复杂的场景,请准备好贡献相当多的补丁。
编写测试。很多人。准备好贡献补丁和bugreport,如果你使用商业组件-确保供应商正式支持Mono。
发布于 2012-05-16 05:41:55
Nathan Bridgewater的博客有一些很好的文章,其中包括:
运行razor mono
发布于 2009-07-23 15:33:07
看一看Mono project。听起来这就是你要找的。如果我没记错的话,他们现在已经集成了ASP.NET MVC。
我从来没有使用过Mono,但从我的理解来看,并没有太多的不同。
https://stackoverflow.com/questions/1172429
复制相似问题