此外,我们担心在Mono上运行ASP.NET所需的mono-fastcgi-server的状态,因为像http://www.voidcn.com/article/p-qlmvcznt-bua.html这样的帖子,因为我们发现很难找到有关项目状态的相关和最新信息.因此我们也犹豫在单声道上使用MVC3.
现在我们正在考虑在后面的控制台应用程序和Nginx反向代理中使用ServiceStack(带有新的Razor视图!).这似乎工作正常,ServiceStack文档表明这是一个可行的解决方案.但是Mono怎么样?它对于严肃的生产场所和服务是否足够稳定,是垃圾收集器的性能等吗?有没有人拥有在单声道托管繁忙的服务器应用程序(使用httplistener的控制台应用程序)的最新经验 – 如果是这样,它是如何工作的,你会推荐它吗?您使用的是什么版本的单声道?
我们的替代方案是强迫我们的客户接受Windows服务器,然后我们将使用服务堆栈或mvc4结合服务堆栈.
总结一下,你会做什么/考虑什么?你在单声道托管服务器应用程序的经验是什么?
解决方法
请注意,servicestack.net上托管的所有实时演示都在Ubuntu linux vServer上运行. servicestack.net一直在Linux / Mono上托管多年,事实上在moving to an Ubuntu vServer from hetzner之前我们的旧版CentOS server had an up-time of 480 days.我们认为Mono是一个越来越重要的支持平台,因为我们预计linux-only云的出现是一个重要的竞争优势,因为它允许您在$0 software licensing cost进行缩放.
使用VS.NET在Windows上进行开发并部署到Mono / Linux
对于我们使用VS.NET在Windows上开发的所有ServiceStack实时演示,我们在Linux上进行git-deploy,构建和托管.正如我们在Release Notes中所述,我们特别注意支持Mono作为一流公民,我们尽可能地应用规范化行为,因此移植现有的IIS / ASP.NET站点仍然是微不足道的(即您应该能够复制和运行二进制按原样!) – 这扩展到我们采用的外部依赖项,这些依赖项受其对Mono的支持的影响.
包括Razor Live演示在内的所有演示都托管在Mono / Linux上
所有ServiceStack演示都托管在Linux上,其中包括Razor example,它在Mono上部署并托管了2个版本,即
> razor.servicestack.net – 由Linux / Nginx / MonoFastCGI提供支持的ASP.NET托管实时演示
> razor-console.servicestack.net – 在Nginx反向代理服务器后面托管的自托管控制台应用程序
您可能希望以不同的方式查看此问题以托管ServiceStack on Linux.