我的C#跨平台之旅(六):发布应用
- 由于此架构从一开始就将.NET Framework 的依赖降低到最低,且不依赖IIS,在ORM层面,完全实现代码优先,即真正做到数据库无关;
- Windows服务器部署:
- 在Windows应用服务器上安装.NET Framework 4.5及以上版本;
- 将编译后程序复制至Windows服务器双击“ demo.exe ”即可执行。
- Linux服务器部署:
- 在Linux服务器上安装mono 5.0及以上版本;
- 将编译后程序复制至Linux服务器执行“ mono demo.exe ”命令即可执行。
- docker部署:
- 下载docker镜像:mono
- 执行docker相关命令将程序注入至其中并执行即可。
- 总结:
- 理论上自2004年MONO产生以来,C#应用即可实现跨平台,但实际上并未有太多成功案例;截止2017.08.15,微软的 .NET Core 2.0发布,C#才真真正正向主流的大型企业应用靠拢,但由于社区资源极为有限,目前使用情况不佳;
- 基于此,针对于大型的企业级应用,我还是建议使用Java EE,尤其是自2004年推出的Spring Boot,已经将Java EE的开发速度提升了2~3倍以上。
我的C#跨平台之旅(六):发布应用的更多相关文章
- .NET跨平台之旅:在生产环境中上线第一个运行于Linux上的ASP.NET Core站点
2016年7月10日,我们在生产环境中上线了第一个运行于Linux上的ASP.NET Core站点,这是一个简单的提供后端服务的ASP.NET Core Web API站点. 项目是在Windows上 ...
- .NET跨平台之旅:将QPS 100左右的ASP.NET Core站点部署到Linux服务器上
今天下午我们将生产环境中一个单台服务器 QPS(每秒请求数)在100左右的 ASP.NET Core 站点部署到了 Linux 服务器上,这是我们解决了在 .NET Core 上使用 EnyimMem ...
- .NET跨平台之旅:基于.NET Core改写EnyimMemcached,实现Linux上访问memcached缓存
注:支持 .NET Core 的 memcached 客户端 EnyimMemcachedCore 的 NuGet 包下载地址:https://www.nuget.org/packages/Enyim ...
- .NET跨平台之旅:在Linux上将ASP.NET 5运行日志写入文件
在前一篇博文(增加文件日志功能遇到的挫折)中,我们遇到了这样一个问题:虽然有一些.NET日志组件(比如Serilog, NLog)已经开始支持.NET Core,但目前只支持控制台输出日志,不支持将日 ...
- .NET跨平台之旅:借助ASP.NET 5 Beta5的新特性显示CLR与操作系统信息
今天在 MSDN 博客上看到了 ASP.NET 5 Beta5 的发布消息(详见 ASP.NET 5 Beta5 Now Available),从中知道了 2 个新特性: 1. DNX: New IR ...
- .NET跨平台之旅:生产环境中第2个跑在Linux上的ASP.NET Core站点
今天我们在生产环境中上线了第2个跑在Linux上的ASP.NET Core站点.这是一个简单的Web API站点,通过命令行的方式调用安装在Linux服务器上的程序完成操作.之前用的是nodejs,现 ...
- .NET跨平台之旅:corehost 是如何加载 coreclr 的
在前一篇博文中,在好奇心的驱使下,探秘了 dotnet run ,发现了神秘的 corehost —— 运行 .NET Core 应用程序的幕后英雄.有时神秘就是一种诱惑,神秘的 corehost ...
- .NET跨平台之旅:探秘 dotnet run 如何运行 .NET Core 应用程序
自从用 dotnet run 成功运行第一个 "Hello world" .NET Core 应用程序后,一直有个好奇心:dotnet run 究竟是如何运行一个 .NET Cor ...
- .NET跨平台之旅:在Linux上以本地机器码(native)运行ASP.NET Core站点
在将“.NET跨平台之旅”示例站点 about.cnblogs.com 从 ASP.NET 5 RC1 升级至 ASP.NET Core 1.0 (博文链接)之后,我们有一个难以抗拒的冲动 —— 体验 ...
- .NET跨平台之旅:将示例站点从 ASP.NET 5 RC1 升级至 ASP.NET Core 1.0
终于将“.NET跨平台之旅”的示例站点 about.cnblogs.com 从 ASP.NET 5 RC1 升级至 ASP.NET Core 1.0 ,经历了不少周折,在这篇博文中记录一下. 从 AS ...
随机推荐
- fail-fast和fail-safe的区别
fail-fast(快速失败):多线程情况下,一个线程通过迭代器读取集合中的值时,另一个线程修改了集合,则会抛出ConcurrentModificationException异常: 集合中通过modC ...
- Android Studio 集成开发工具教学视频
简介 经过2年时间的研发,Google终于正式发布了面向Android开发者的集成开发环境Android Studio 1.2(稳定版).Android Studio是Google开发的一款面向And ...
- jquery全选的选中和取消选中
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- 项目总结21:项目总结21:input实现多图上传(FormData)(上传OSS并保存数据库)
项目总结21:input实现多图上传(FormData)(上传OSS并保存数据库) 备注:本案例,作为Demo,包含少量的项目业务逻辑,input多图上传的逻辑是完整的: 不废话直接上代码 1-前端标 ...
- jqgrid修改表格内容为居中
看了手册没有发现自带的方法,所以使用了自定义css <style> #tableDataSearch tr td{ text-align:center; } </style>
- gitlab 与 jenkins 关联
一.搭建 gitlab :https://www.cnblogs.com/carriezhangyan/p/10729158.html 二.搭建jenkins :https://www.cnblogs ...
- code first , Migration
文章引用至: https://www.cnblogs.com/panchunting/p/entity-framework-code-first-migrations.html 随着业务的增加, 之前 ...
- SpringCloud微服务负载均衡与网关
1.使用ribbon实现负载均衡ribbon是一个负载均衡客户端 类似nginx反向代理,可以很好的控制htt和tcp的一些行为.Feign默认集成了ribbon. 启动两个会员服务工程,端口号分别为 ...
- ajax执行成功不进入success方法
当dataType的值为json时,传入的值和返回的值符合json格式的时候,执行成功才会进入success方法,否则进入error方法.
- 使用JFlex生成词法分析器 1:安装配置
环境:Windows 10 STEP 1: 下载 JFlex 文件,我选择的是 jflex-1.7.0.zip.下载完成后解压到想安装的位置. 文件结构如下(假设解压目录为 C:\): C:\jfle ...