net core --hello world

一 添加HelloWorld项目

二 添加netcore依赖,在csproj文件里,双击新建的项目即可

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net5.0</TargetFramework>
  </PropertyGroup>
<ItemGroup>
    <FrameworkReference Include="Microsoft.AspNetCore.App"></FrameworkReference>
</ItemGroup>
</Project>

三 修改为net core项目

class Program
    {
        static void Main(string[] args)
        {
            Host.CreateDefaultBuilder()
                .ConfigureWebHost(WebHostBuilder => WebHostBuilder
                .UseKestrel()
                .Configure(ApplicationBuilder =>
                    ApplicationBuilder.Run(httpContext =>
                       httpContext.Response.WriteAsync("hello dyb")
                    )))
                .Build()
                .Run();
        }
    }
  1. host宿主,承载服务,通过自带的CreateDefaultBuilder()方法创建一个hostBuilder对象,最终通过Builder()方法创建Host.最终Run()启动应用程序。
  2. 通过ConfigureWebHost()扩展方法,通过Action<IWebHostBuilder>委托对象构建asp.net core应用请求处理管道。
  3. 通过扩展方法UserKestrel(),将kestrelServer注册为服务器。
  4. 通过扩展方法Configure(),通过action<IApplicationBuilder>对象,所需的中间件注册在IApplicationBuilder对象上。
  5. 上面的中间注册是通过ApplicationBuilder对象的扩展方法Run(),通过Func<HttpContext,Task>实现了一个简易的返回文字的中间件。

 四 修改SDK.

  在csproj文件中,project Sdk是Microsoft.Net.Sdk而asp.net core应用通常采用另一种名为 Microsoft.net.sdk.Web的sdk类型。

       直接修改这个文件就可以了。保存后,reload项目,生成launchSettings.json文件。

<Project Sdk="Microsoft.NET.Sdk.Web">

      内容如下:

{
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:49181/",
      "sslPort": 44373
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "HelloWorld": {
      "commandName": "Project",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      },
      "applicationUrl": "https://localhost:5001;http://localhost:5000"
    }
  }
}

 

posted @ 2022-05-05 20:05  vba是最好的语言  阅读(88)  评论(0编辑  收藏  举报