2020年11月6日星期五

第一章 开发体验

第一章 开发体验

目录
  • 第一章 开发体验
    • 一、Asp.Net Core应用程序
    • 二、Asp.Net Core Mvc应用程序

一、Asp.Net Core应用程序

  1. 使用CLI创建控制台应用程序

    dot new console -n helloworld
  2. 编辑项目文件

    <ItemGroup>	<FrameworkReference include = "Microsoft.AspNetCore.App"></FrameworkReference></ItemGroup>
  3. 创建Host主机并配置

    在Main方法中,调用静态类Host的CreateDefaultBuilder方法,创建一个IHostBuilder对象,并调用Builder方法构建服务宿主的IHost对象,再调用IHost对象的扩展方法Run,AspNetCore应用程序就被启动了。

    var builder = Host.CreateDefaultBuilder();IHost host = builder.Build();host.Run();
  4. 配置请求管道

    在调用Builder方法之前,调用ConfigureWebHost扩展方法,参数是Action委托,构建请求管道。

    var builder = Host.CreateDefaultBuilder();builder.ConfigureWebHost(options =>{  options.UseKestrel().Configure(app =>  {   app.Run(context => context.Response.WriteAsync("HelloWord"));  });});IHost host = builder.Build();host.Run();
  5. launchSetting.json配置文件

    修改项目配置文件,并重新加载,这时你会发现 控制台应用程序 变成了 web应用程序。

    <Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <TargetFramework>netcoreapp3.1</TargetFramework> </PropertyGroup></Project>

    CLI启动,并指定Kestrel服务器

    dotnet run --launch-profile helloworld

二、Asp.Net Core Mvc应用程序

  1. 注册服务与中间件

    AspNetCore Mvc就是建立在用来实现路由的EndpointRoutingMiddleware中间件和EndpointMiddleware中间件上的。所以我们开始改造。

    内置的依赖注入框架以后会深入了解,现在拿来直接用。

     var builder = Host.CreateDefaultBuilder(); builder.ConfigureWebHostDefaults(options => {  options.ConfigureServices(configureServices =>  {    //注册服务    configureServices.AddRouting();   configureServices.AddControllersWithViews();  }).Configure(app =>  {    //使用服务    app.UseRouting();   app.UseEndpoints(endpoint =>   {    endpoint.MapControllers();   });  }); }); IHost host = builder.Build(); host.Run();
  2. 添加控制和视图

    添加一个类HelloController,然后继承controller。

    public class HelloController : Controller{ [HttpGet("/hello/{name}")] public IActionResult SayHello(string name) {  ViewData["Name"] = name;  return View(); }}
    @{ ViewData["Title"] = "SayHello";}<h1>@ViewData["Name"]</h1>
  3. 注册Startup类型

    以上可以直接跑起来,现在开始注册Startup类,约定大于配置嘛,所以我们把注册服务配置中间件的过程提取出来,单独放在一个类中,这样就方便以后维护了。

    修改Main方法

    private static void Main(string[] args){ Host.CreateDefaultBuilder()  .ConfigureWebHostDefaults(configure =>   configure.UseStartup<Startup>()  ).Build().Run();}

    Startup类

    public class Startup{ public void ConfigureServices(IServiceCollection services) => services.AddRouting().AddControllersWithViews(); public void Configure(IApplicationBuilder app) =>  app.UseRouting().UseEndpoints(point => point.MapControllers());}

原文转载:http://www.shaoqun.com/a/489312.html

cima:https://www.ikjzd.com/w/1372

克雷格:https://www.ikjzd.com/w/194

跨国采购网:https://www.ikjzd.com/w/2270.html


第一章开发体验目录第一章开发体验一、Asp.NetCore应用程序二、Asp.NetCoreMvc应用程序一、Asp.NetCore应用程序使用CLI创建控制台应用程序dotnewconsole-nhelloworld编辑项目文件<ItemGroup> <FrameworkReferenceinclude="Microsoft.AspNetCore.App"&
retriever:https://www.ikjzd.com/w/773
net a porter:https://www.ikjzd.com/w/2132
突发,香港E特快7日起全面限制超过3KG的包裹!:https://www.ikjzd.com/home/12718
清远怎么到龙腾峡漂流?清远龙腾峡漂流自驾车路线?:http://tour.shaoqun.com/a/29222.html
亚马逊测评是什么?跟直评有什么区别?该如何选择...:https://www.ikjzd.com/home/132879

没有评论:

发表评论