前言

前面介绍了开发工具及net core版本,后端工程的框架结构开发工具及环境,因为是基础工程,所以没考虑太复杂的框架,如果有架构师请勿喷。

创建工程

废话不多说,撸起袖子干。

打开vs2019,左上角->文件->新建->项目



一般不需要检索,毕竟就几个,找到这个Web 应用程序,点击下一步。

自己起个名字,选个路径,点击创建。



基本上该标注的都标注了,启用HTTPS这个看自己需要,勾选了之后就可以通过https://访问,至于Docker支持这个,先挖个坑,后面鼓捣Docker的时候专门介绍,其实个人感觉跨平台主要得力于Docker这个说是虚拟机也不算,说是服务器也不算的工具。

创建完成后基本上都可以看到这个工程的大概东西了。

工程文件概述(个人理解)

  • Properties

    这下面有个launchSettings.json,这是个系统配置文件,iis的端口,请求地址,默认地址等等的配置。
  • Controllers

    你的所有控制器(搞过mvc的不用多说)都在这里,其实说白了就是你的接口API,至于Method,Router都是你自己在每个Api控制器里编辑,具体业务逻辑也是在对应接口实现。
  • appsettings.json

    这个是配置项文件,net core的web.config,用json来配置个人感觉还是比较舒服的,最起码看着方便,参数什么的也都清楚。
  • Program.cs

    入口文件,没啥说的,我鼓捣的也不多,说实话做了一个工程这个地方貌似没改动,这个地方可以选择使用哪个Startup(如果你有多个的话)。
  • Startup.cs

    这个文件就比较厉害了,后续做的Log,Swagger等等第三方类库或者其他有些配置还有你的Service,都需要(有些是最好)在这个文件下注册,先切出代码看下。

  • Startup
		public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
  • ConfigureServices

构造函数这块儿就不多说了,实例化Configuration,这个就是系统整体的Config,AppKey的具体参数是在appsettings.json里配置的(.netframework的AppSettings -,-||)

        public void ConfigureServices(IServiceCollection services)
{
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
}

在Configure前由主机调用执行,services主要用来注册服务以及定义一些系统的配置信息,后续使用Swagger,Quartz等服务都是需要在这个地方注册下。

  • Configure
        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
} app.UseHttpsRedirection();
app.UseMvc();
}

这个Configure个人感觉是在services注册过后,这个地方要告诉管道我要用,所以基本上都是Use,并且在这里可以添加中间层。

运行

简单介绍了下创建的工程内容后,一通Ctrl+F5,不出意外的话你看不到欢迎界面,就只要一个字符串数组,这就是你的ValuesController的GET请求返回的结果,如果需要更改默认启动页面,可以在Properties下面的json文件修改launchUrl。

小结

工程创建完成,下一步就要引入一些第三方的类库来完成一个基础工程常规的使用了。

net core Webapi基础工程搭建(二)——创建工程的更多相关文章

  1. net core Webapi基础工程搭建(六)——数据库操作_Part 2

    目录 前言 开始 使用 小结 前言 昨天是写着写着发现,时间不早了,已经养成了晚上下班抽时间看看能写点儿啥的习惯(貌似),今天实在是不想让昨天没做完的事情影响,所以又坐下,沉下心(周末了),开始把数据 ...

  2. net core Webapi基础工程搭建(六)——数据库操作_Part 1

    目录 前言 SqlSugar Service层 BaseService(基类) 小结 前言 后端开发最常打交道的就是数据库了(静态网站靠边),上一篇net core Webapi基础工程搭建(五)-- ...

  3. spring原理案例-基本项目搭建 03 创建工程运行测试 spring ioc原理实例示例

    下面开始项目的搭建 使用 Java EE - Eclipse 新建一 Dynamic Web Project Target Runtime 选 Apache Tomcat 7.0(不要选 Apache ...

  4. net core Webapi基础工程搭建(七)——小试AOP及常规测试_Part 2

    目录 前言 引入 自定义属性 测试 小结 前言 前一篇讲到了中间层的使用,可能不是那么AOP,今天主要来说下一个轻量级的AOP第三方类库AspectoCore. 简单介绍下这个类库,AspectCor ...

  5. net core Webapi基础工程搭建(五)——缓存机制

    目录 前言 Cache Session Cookie 小结 补充 前言 作为WebApi接口工程,性能效率是必不可少的,每次的访问请求,数据库读取,业务逻辑处理都或多或少耗费时间,偶尔再来个各种花式f ...

  6. net core Webapi基础工程搭建(四)——日志功能log4net

    目录 前言 log4net 依然是,NuGet引用第三方类库 整合LogUtil 小结 前言 一个完整的项目工程离不开日志文件的记录,而记录文件的方法也有很多,可以自己通过Stream去实现文件的读写 ...

  7. 【Android】cocos2d-x-3.1.1环境搭建与创建工程( Win7 32位系统)

    参考资料: http://blog.csdn.net/wxc237786026/article/details/32907079 1.环境搭建 2.创建工程 2.1 VS2012运行 2.2 Andr ...

  8. Orleans学习总结(二)--创建工程

    通过第一篇Orleans学习总结(一)--入门认识我们大致知道知道是干嘛的了,下面我们来动手造一个传说中的神秘的高并发集群Orleans程序. 一.创建四个C#工程 1.IGrain工程,用来定义各种 ...

  9. 第十九节:Asp.Net Core WebApi基础总结和请求方式

    一. 基础总结 1.Restful服务改造 Core下的WebApi默认也是Restful格式服务,即通过请求方式(Get,post,put,delete)来区分请求哪个方法,请求的URL中不需要写方 ...

随机推荐

  1. 关于int和integer

    大家可以看一下下面这个java程序的运行结果 int k = 1; int l = 1; System.out.println(k == l); int a = 128; int b = 128; S ...

  2. Java编程思想:为什么要使用内部类

    public class Test { public static void main(String[] args) { Callbacks.test(); } } /* 为什么需要内部类: 1.可以 ...

  3. vue+element项目中使用el-dialog弹出Tree控件报错问题

    1. 按正常的点击按钮,显示dialog弹出的Tree控件,然后把该条数据下的已经选中的checkbox , 用setCheckedNodes或者setCheckedKeys方法选择上 , 报下面这个 ...

  4. 【题解】埃及分数-C++

    Description 在古埃及,人们使用单位分数的和(形如1/a的, a是自然数)表示一切有理数. 如:2/3=1/2+1/6,但不允许2/3=1/3+1/3,因为加数中有相同的. 对于一个分数a/ ...

  5. 数据库触发器_trigger

    部门表_删除: USE [test] GO /****** Object: Trigger [dbo].[部门_Delete] Script Date: 2015/8/31 16:41:46 **** ...

  6. select语句中不应该数据库关键字(如:precision)

    解决方案: 在关键字左右家特殊小点,在esc键的下面.(不是单引号) 如:`precision` 也可以在字段前加上表名.

  7. C#跟Lua如何超高性能传递数据

    前言 在UWA学堂上线那天,我买了招文勇这篇Lua交互的课程,19块还算值,但是前段时间太忙,一直没空研究,他的demo是基于xlua的,今天终于花了大半天时间在tolua下跑起来了,记录一下我的理解 ...

  8. md文档的书写《三》

    markdown语法 官网 这是标题 "#加空格" 是标题,通常可以设置六级标题. 内容下 空格是换行 列表 无序列表:使用" - + * "任何一种加空格都可 ...

  9. nginx处理302、303和修改response返回的header和网页内容

    背景 遇到一个限制域名的平台,于是使用nginx在做网站转发,其中目标网站在访问过程中使用了多个302.303的返回状态,以便跳转到指定目标(为什么限制,就是防止他的网站的镜像). 在查找了一段资料后 ...

  10. python课堂整理20----生产者消费者模型

    一.实现功能:店铺生产包子,消费者来吃 import time def producter(): ret = [] for i in range(10): time.sleep(0.1) ret.ap ...