向ASP.NET Core迁移
有人说.NET在国内的氛围越来越不行了,看博客园文章的浏览量也起不来。是不是要转Java呢? 没有必要扯起语言的纷争,Java也好C#都只是语言是工具,各有各的使用场景。以前是C#非开源以及不能在Linux上使用,没有被互联网公司考虑,但它仍然有它的用途。这几年国内互联网公司进入蓬勃发展时期,所有才有这样的趋势。但并不代表C#不能做互联网应用,可以说在接下来的一年内.net core将会成为一个很好的趋势,结合容器以及微服务架构会成为互联网公司另一个比较好的选择。
作为现在在用.NET的公司,如果有机会可以考虑与时俱进,在真实项目中将.net core用起来。作为开发者,我们不能等着这个语言好了再去学习,那时候机会已经给那些先头部队给抢了。 :) 你们都知道我在说什么。
欢迎大家加入我建和ASP.NET Core学习群: qq: 92436737
我们首先来看看ASP.NET Core有哪些优势?
公司的决策层为什么要做这样的选择?
如何来做升级和改造 ?
最小升级方案:将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上迁移。
新老项目交互的问题
本文首发于公众号jessetalk,如需转载请保留公众号二维码。
ASP.NET Core依赖注入全知道: https://mp.weixin.qq.com/s/lR9O7bXiI704kSu7bKdLGg
我心中的ASP.NET Core新核心对象之WebHost(一) https://mp.weixin.qq.com/s/4Sm2dxMe_WeVOizhqX4ZdA
极简版ASP .NET Core学习路径 https://mp.weixin.qq.com/s/7oKnYLOrff_FmMLm7thnBg
作者:Jesse 出处: http://jesse2013.cnblogs.com/