.NET Core 1.0学习(2)

心已入冬 提交于 2020-04-10 09:38:44

随便照着[Getting Started — ASP.NET documentation做了一下练习,实在无趣。就是改个project.json再写个hello world。

什么Code Behind(aspx, aspx.cs),事件代码的, 都没看到。(就看Visual Studio Code的本事了,不然就没有微软特色了)

贴个代码结束 (用的不是和IIS或者IIS Express配套的那个ASP.NET,想用也没有。而是Kestrel,名字是一种鸟,鸟Server?)。

using System;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;

namespace aspnetcoreapp
{
    public class Startup
    {
        public void Configure(IApplicationBuilder app)
        {
            app.Run(context =>
            {
                return context.Response.WriteAsync("Hello from ASP.NET Core!");
            });
        }
    }
}

再回想起上次练习.NET Core 1.0学习(1),发现了几点不同寻常的地方:

  1. .NET Core的东西好精简。加起来才180个文件左右,109M左右。都放在/usr/share/dotnet下。 (毋庸置疑,里面也包含了ASP.NET Core的东西,我做了简单的aspnet试了OK。$HOME/.nuget下的东西和dotnet下的东西雷同很多。)

    反正比起Windows上那一坨坨的实在清爽太多。

    可是为啥能够少这么多呢? (1)大量的Windows GUI相关的东西去掉了,我没有看到任何和form相关的东西。更不要提那劳什子WPF,Silverlight了。 (2)一个是Windows上的GAC去掉了,估计连功能都没做。 (3)ASP.NET的东西似乎极少,都没看到以前的System.Web.Dll。 这么少的东西,自然不可能把

  2. IIS不见踪影 也没看见什么Express的字样。 做最初的aspnet的例子时发现是用Microsoft.AspNetCore.Server.Kestrel来做Server的,靠谱吗?不知道,看了github里的介绍aspnet/KestrelHttpServer,不冷不热吧,都没怎么看见宣传,说好的IIS Express呢?

  3. 看见了libuv的身影。 这东西才是NodeJS的半壁江山,异步事件驱动高效而且跨平台的lib。上面提到的KestrelHttpServer就是用它做的,难怪这么小。

    突然想起来,以前IIS特意把HTTP的一些处理放倒内河层做(http.sys)以便快速的处理request/response, IIS的速度也的确挺强悍,可是现在不用这个体制会怎么样?如果能够很好,那么为什么还要做的那么啰嗦。看来微软也被libuv征服了,这是应该的。

  4. 看见了VB的身影 /root/.nuget/packages/Microsoft.VisualBasic/10.0.1/ref/netcore50/Microsoft.VisualBasic.dll 看来也许会支持,其实也不是什么大事儿,因为画面是甭指望的了,有没有他谁还在乎。


微软扔掉了UI,赤膊到Linux上拼搏,优势大减啊。.NET Runtime本身的速度和Java VM的相比自然不能快到哪里去,否则JVM必然会超过。 这个.NET Core搞好了,大家当然都愉快,就看微软给不给力了,可别来个太粗暴的一刀切什么的。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!