专栏首页angularejs学习篇第一个,net core项目,一起入门 !!!

第一个,net core项目,一起入门 !!!

  最近项目上开始使用.net core,新的项目,熟悉的东西比较多,现在花点时间来梳理一下,重头开始搭建一个.net core项目。哈哈,这个相对老手来说,估计会觉得小儿科,没事,也就当一次分享总结罢了,希望对有帮助的小伙伴有点帮助就好。

环境准备:

  为了开发.net core,微软已经明确终止.net core 2.2,所以我们在实际开发中必须要用.net core3.1了吧,为了更好的使用,所以开发环境赶快升级上来:vs总得升级到vs2019了吧,.net core3.1赶紧装上。哈哈,其实想想也就是这两个环境,不废话,简单搞定就开始撸代码啦。

第一步:创建一个.net core 项目:

  其实创建一个.net core项目还是很简单的,只要会.net项目的,那就是小儿科,如果刚刚入行,百度也是一大波大波的。下面也简单的来创建一下,供参考:

按照如下框红的部分选择,继续下一步:

填写好项目名称,进入到如下界面,按照匡红选择即可一个.net core 项目的创建

哈哈,是不是觉得超级简单,有这个感觉那就对啦!!!

第二步:简单介绍.net core 项目的目录结构

  是不是看上去似曾相识的感觉,嗯有这个感觉就对了,只要会MVC和webform经验的小伙伴感觉是不是更明显。上面就是.net core 项目的目录结构,在实际项目开发中,也就是按照这个目录接口进行自己的项目撸代码,好了,今天不说具体的撸代码了。下面简单介绍一下.net 的运行机制吧!

第三步:简单梳理一下.net core项目的配置文件:

  首先.net core 的配置文件都是.json后缀文件,主要由两个配置文件launchSettings.json和appsettings.json

  launchSettings.json:简单的说就是项目配置文件,也就是单击项目属性可视化界面对应的json数据文件,里面主要配置一下环境变量等等,其主要还是为调试需要。

  appsettings.json:就是应用内配置,其实简单的说也就是相当于.net项目中的web.config配置文件,这样说是不是就懂啦,哈哈所以不多说了。

第四步:.net core项目启动方式:

,net core项目的启动大概有如下几种方式:

  1、直接通过vs,以IIS为宿主进行启动(操作简单)

  2、直接通过vs,自宿主启动

  3、通过命令行启动

    命令行启动其实也有两种方式:

    直接通过源码启动:

    进入到源码所在目录:执行如下命令即可:

      dotnet run --urls "http://*9000"

    通过编译文件启动:

    进入到编译后的文件所在目录:执行如下命令即可:

      dotnet /项目名称.dll --urls "http://*8000;https://*8001;"

4、当然是生成环境中,可以通过各种容器启动,比如:docker等等

第五步:.net core启动端口设置:

  通过第四步,不同方式把程序跑起来,你会发现,不同的方式其端口也不经相同,那么是哪儿控制了其端口呢?

  其实.net core可以通过如下4种方式来时设置程序端口:

  环境变量:也就是通过launchSettings.json的如下节点来配置程序端口

  硬编码:也就是直接将端口写在代码中,具体怎么操作,下面再说

  应用配置:也就是通过appsettings.json的如下节点来配置程序端口

    "urls": "http://*:9000"

  命令行:这个就是通过命令行启动时的 -urls后队列的地址

  以上4种方式的优先级是至上而下逐级升高

第六步:.net core的运行机制

  首先梳理一下Program.cs文件的代码逻辑及其功能,有了这个概念后,就清楚了

public static void Main(string[] args)
      {
          /// 创建一个主机(配置信息、主机配置信息)->创建、启动
          CreateHostBuilder(args).Build().Run();
      }
 
      /// <summary>
      /// 创建主机
      /// </summary>
      /// <param name="args"></param>
      /// <returns></returns>
      public static IHostBuilder CreateHostBuilder(string[] args) =>
          /// 主机分两类:一类的默认主机(非web主机)、web主机
 
          /// 创建一个默认主机
          /// 加载主机配置,加载环境变量,加载命令行参数
          /// 加载日志组件、启用IIS集成
          Host.CreateDefaultBuilder(args)
              /// 配置web主机
              /// 将kestrel设置为web主机服务器,并进行一些初始化配置
              /// 加载前缀为aspnetcore的环境变量
              .ConfigureWebHostDefaults(webBuilder =>
              {
                  /// 指定web应用的启动类
                  webBuilder.UseStartup<Startup>();
                  /// 修改主机配置项的地址
                  webBuilder.UseUrls("http://*:7000");
 
                  /// 程序的启动端口可以通过如下4种方式来设置:
                  /// 命令行->应用配置->硬编码->环境变量
                  /// 其中每种设置的优先级是:从左至右逐级递减
 
                  /// 其他各种配置
              });
  }

下面在用一个来形象的描述其运行机制

总结:

哈哈,上面也是简单的总结了一下.net core的创建,当然对于老手来说,简直就是小菜,哈哈,没事,就当回顾一下。做.net开发,.net core是一个必然的选择,所以还在做基于.net framework 开发的,最好迁移到.net core上来。

.net core 主要有如下一些特点:

跨平台、跨框架、支持命令行、部署灵活、兼容性强、轻量级、开源、微服务支持

说了半天,下面来一张图总结一下.net core 和 .net framework的关系:

明天会继续和大家分享.net core中的依赖注入相关的知识,感觉大家关注与分享!!

END

欢迎各位小伙伴关注我的公众号(程序员修炼之旅),里面会分享一些技术类干货,同时也是一个技术沟通交流平台,谢谢大家的支持。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 数据结构之Array、ArrayList、List、LinkedList对比分析

    在c#数据结构中,集合的应用非常广泛,无论是做BS架构还是CS架构开发,都离不开集合的使用,比如我们常见的集合包括:Array、ArrayList、List、...

    小小许
  • JQuery中的动画

      这两种方法是jQuery动画的最基本方法。当为元素调用show方法时相当于将该元素的display样式改为block或者inline,同理,如果当元素调用h...

    小小许
  • HTML特殊字符

    小小许
  • 准备启动 .net 版本的 工作流引擎

    在工作中学习和积累了很多工作流的知识,也在网络上写了一些个人的感想,觉得这个领域可以继续挖掘下去。

    田春峰-JCJC错别字检测
  • asp.net core合并压缩资源文件引发的学习之旅

    重启vs2017,卧槽。一遍又一遍无响应(家里公司电脑都没有成功~)..幸好还有其他路可以走...

    易墨
  • Bytom Dapp 开发笔记(三):Dapp Demo前端源码分析

    本章内容会针对比原官方提供的dapp-demo,分析里面的前端源码,分析清楚整个demo的流程,然后针对里面开发过程遇到的坑,添加一下个人的见解还有解决的方案。

    比原链Bytom
  • Bytom Dapp 开发笔记(三):Dapp Demo前端源码分析

    本章内容会针对比原官方提供的dapp-demo,分析里面的前端源码,分析清楚整个demo的流程,然后针对里面开发过程遇到的坑,添加一下个人的见解还有解决的方案。

    比原链Bytom
  • 2017年ICS安全回顾:关键基础设施比人们预想的更脆弱

    日益猛烈的网络攻击让人们普遍意识到网络安全的重要性。而 Stunx 震网病毒之后频繁发生的针对关键基础设施的网络攻击,让硬件以及数据相关的危险。但是,目前的趋势...

    FB客服
  • vue-cli3.0 + webpack 4 + vant + less + rem + axios构建h5移动端项目,持续更新!

    基于vue-cli3.0+webpack 4+vant ui + less+ rem适配方案+axios封装,构建手机端模板脚手架

    前端老鸟
  • 2018 .NET开发者调查报告: .NET Core 是怎么样的状态

    张善友

扫码关注云+社区

领取腾讯云代金券