企业应用向ASP.NET Core迁移
程序员文章站
2022-04-15 08:52:54
有人说.NET在国内的氛围越来越不行了,看博客园文章的浏览量也起不来。是不是要转Java呢? 没有必要扯起语言的纷争,Java也好C#都只是语言是工具,各有各的使用场景。以前是C#非开源以及不能在Linux上使用,没有被互联网公司考虑,但它仍然有它的用途。这几年国内互联网公司进入蓬勃发展时期,所有才... ......
有人说.net在国内的氛围越来越不行了,看博客园文章的浏览量也起不来。是不是要转java呢? 没有必要扯起语言的纷争,java也好c#都只是语言是工具,各有各的使用场景。以前是c#非开源以及不能在linux上使用,没有被互联网公司考虑,但它仍然有它的用途。这几年国内互联网公司进入蓬勃发展时期,所有才有这样的趋势。但并不代表c#不能做互联网应用,可以说在接下来的一年内.net core将会成为一个很好的趋势,结合容器以及微服务架构会成为互联网公司另一个比较好的选择。
作为现在在用.net的公司,如果有机会可以考虑与时俱进,在真实项目中将.net core用起来。
我们首先来看看asp.net core有哪些优势?
如果你看到这段文字,说明您正使用rss阅读或转自《一棵树-博客园》,原文地址:https://www.cnblogs.com/atree/p/netcore-transfer.html
公司的决策层为什么要做这样的选择?
如何来做升级和改造 ?
最小升级方案:将asp.net core部署在iis上
asp.net core所有的项目都必须运行在kestrel或者一个自定义的web server上。
在asp.net core 2.0时,采用默认的 webhost.createdefaultbuilder().builder() 得到的host已将将 kestrel和iisintegration都添加进来。
public static void main (string[] args) { buildwebhost (args).run (); } public static iwebhost buildwebhost (string[] args) { return webhost.createdefaultbuilder (args) .usestartup<startup> () .usekestrel (options => { options.listen (ipaddress.loopback, 5000); options.listen (ipaddress.loopback, 5001, listenoptions => { listenoptions.usehttps ("testcert.pfx", "testpassword"); }); }) .useiisintegration () .build () }
iisintegration其实是将iis做一个反向代理,aspnetcoremodule的任务就是将请求转发给kestrel。
在我们的最小升级方案里面,部署到iis是在生产环境中使用asp.net core是最易实现和成本最低的一种。剩下的,等开发人员对asp.net core掌握的比较牢固,对linux的运维也有一些经验之后可以再尝试往linux上迁移。
新老项目交互的问题
推荐阅读
-
详解asp.net core重新加载应用配置
-
docker部署Asp.net core应用的完整步骤
-
详解如何在ASP.NET Core中应用Entity Framework
-
【翻译】使用WebApi和Asp.Net Core Identity 认证 Blazor WebAssembly(Blazor客户端应用)
-
ASP.NET Core应用中与第三方IoC/DI框架的整合
-
(二)快速搭建 ASP.net core Web 应用
-
详解ASP.NET Core应用中如何记录和查看日志
-
解析如何利用一个ASP.NET Core应用来发布静态文件
-
ASP.NET Core Web 应用程序开发期间部署到IIS自定义主机域名并附加到进程调试
-
详解将ASP.NET Core应用程序部署至生产环境中(CentOS7)