环境说明

dotnet core,开发需要安装dotnetcore sdk,运行需要安装 dotnetcore runtime

运行目前几乎支持所有常见平台

开发推荐windows10 平台

首先安装IDE vs2019 和 windows,注意不是code,虽然dotnet core 可以用命令行完成所有操作,但是一个IDE能够提供的帮助还是非常多,开发效率就是正义。

dotnet core 需要单独安装

https://dotnet.microsoft.com/download/dotnet-core/3.0

开发需要装SDK

运行的机器上则只需要装runtime

一、创建项目

我们使用netcore 控制台项目 作为 服务器的进程

可以用命令行

dotnet new console

或者 用ide 界面创建一个

二、安装  microsoft.aspnetcore.app 包

nuget是微软提供的一个包服务,谁都可以往上面上传包

包就是一组dll和资源。

发布软件时不需要携带所有使用到的包,对方可以根据项目配置还原

安装包

1.可以用命令行

2.或者 项目右键 nuget 包管理器

来安装一个包

3.也可以直接修改csproj文件

我们要建立一个独立的http服务进程,只需安装这个包

Microsoft.AspNetCore.App

这个包不是建立http服务进程的唯一选择,但他是微软官方提供的,功能完整,何乐而不为。

恢复包

1.使用命令行

dotnet restore

2.vs GUI解决方案右键 还原 nuget 包

有时候打开解决方案 包那里感叹号,build不通过,就要恢复一下包

一般通过git管理,会忽略nuget目录,每个人通过恢复包自己去抓,nuget目录通常在系统文件夹

三、最简的http程序

运行效果

代码位置

https://gitee.com/lightsever/netcore_study/tree/master/server01_basic

用dotnet core 搭建web服务器(一)http server的更多相关文章

  1. 用dotnet core搭建web服务器(三)ORM访问数据库

    访问传统sql数据库,大家以前都是用sql语句去查询.这些年流行orm方法 ORM是对象关系映射的简拼,就是用一个对象(class)去表示数据的一行,用对象的成员去表述数据的列 dotnet 官方很早 ...

  2. 用dotnet core搭建web服务器(二)路由表与封装

    https://gitee.com/lightsever/netcore_study/tree/master/server02_path 先上代码,首先我们把httpserver封装一下,以后用起来方 ...

  3. spring cloud+dotnet core搭建微服务架构:Api授权认证(六)

    前言 这篇文章拖太久了,因为最近实在太忙了,加上这篇文章也非常长,所以花了不少时间,给大家说句抱歉.好,进入正题.目前的项目基本都是前后端分离了,前端分Web,Ios,Android...,后端也基本 ...

  4. 手把手教你使用spring cloud+dotnet core搭建微服务架构:服务治理(-)

    背景 公司去年开始使用dotnet core开发项目.公司的总体架构采用的是微服务,那时候由于对微服务的理解并不是太深,加上各种组件的不成熟,只是把项目的各个功能通过业务层面拆分,然后通过nginx代 ...

  5. spring cloud+dotnet core搭建微服务架构:服务发现(二)

    前言 上篇文章实际上只讲了服务治理中的服务注册,服务与服务之间如何调用呢?传统的方式,服务A调用服务B,那么服务A访问的是服务B的负载均衡地址,通过负载均衡来指向到服务B的真实地址,上篇文章已经说了这 ...

  6. spring cloud+dotnet core搭建微服务架构:Api网关(三)

    前言 国庆假期,一直没有时间更新. 根据群里面的同学的提问,强烈推荐大家先熟悉下spring cloud.文章下面有纯洁大神的spring cloud系列. 上一章最后说了,因为服务是不对外暴露的,所 ...

  7. spring cloud+dotnet core搭建微服务架构:配置中心(四)

    前言 我们项目中有很多需要配置的地方,最常见的就是各种服务URL地址,这些地址针对不同的运行环境还不一样,不管和打包还是部署都麻烦,需要非常的小心.一般配置都是存储到配置文件里面,不管多小的配置变动, ...

  8. spring cloud+dotnet core搭建微服务架构:配置中心续(五)

    前言 上一章最后讲了,更新配置以后需要重启客户端才能生效,这在实际的场景中是不可取的.由于目前Steeltoe配置的重载只能由客户端发起,没有实现处理程序侦听服务器更改事件,所以还没办法实现彻底实现这 ...

  9. 在Win7系统中搭建Web服务器

    局 域网Web服务器的主要功能是实现资源共享,同时借助于局域网服务器访问页面可有效的实现信息的同步.利用Web服务器,我们随时随地都可以将自己的信息 上传到服务器端,让其它关注你的用户能在第一时间内了 ...

随机推荐

  1. Day 09 作业

    简述定义函数的三种方式 有参函数, 无参函数, 空函数 简述函数的返回值 函数内部代码经过一系列的逻辑处理返回的结果 简述函数的参数 函数的参数分形参和实参 形参: 定义函数阶段, 括号内定义的参数, ...

  2. Java_用*输出等腰三角形

    // 代码............................................................... import java.util.Scanner;public ...

  3. js中 forEach 和 map 区别

    共同点: 1.都是循环遍历数组中的每一项. 2.forEach()和map()里面每一次执行匿名函数都支持3个参数:数组中的当前项item,当前项的索引index,原始数组input. 3.匿名函数中 ...

  4. 【hibernate】重写物理表名和列明

    [hibernate]重写物理表名和列明 转载:https://www.cnblogs.com/yangchongxing/p/10357123.html 假设你的数据库命名有这样的需求,表都以 yc ...

  5. Common Lisp学习资源整理

    Lisp Hackers: Interviews with 100x More Productive Programmers Posted on June 26th, 2013 Lisp Hacker ...

  6. SQL- SQL查询检索阶段一

    一 说明 如果是初学者,建议去网上寻找安装Mysql的文章安装,以及使用navicat连接数据库,以后的示例基本是使用mysql数据库管理系统: 二 准备前提 需要建立一张学生表,列分别是id,名称, ...

  7. 《MySQL数据库》常用语法(二)

    表关联关系: -- 内联接 SELECT * FROM m INNER JOIN n ON m.id = n.id; -- 左外联接 SELECT * FROM m LEFT JOIN n ON m. ...

  8. 数组知识总结(js)

    js数组知识注意点: 声明空数组时,和c语言中的不同 js c var arr=[ ] //合法,声明一个空数组,数组长度为0; int a[];//错误因为在c中声明一个数组不仅要指定类型还要指定数 ...

  9. Mac 停止redis服务

    停止redis服务: redis-cli shutdown 开始redis服务: redis-server

  10. 2019年腾讯PHP程序员面试题目分享

    有需要学习交流的友人请加入交流群的咱们一起,有问题一起交流,一起进步!前提是你是学技术的.感谢阅读! 点此加入该群​jq.qq.com 1. php 的垃圾回收机制 PHP 可以自动进行内存管理,清除 ...