循序渐进学.Net Core Web Api开发系列【1】:开发环境

系列目录

循序渐进学.Net Core Web Api开发系列目录

本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi

一、本篇概述

本篇不打算描述如何通过Visual Studio创建一个项目之类的话题,主要描述以下内容:

1、使用NuGet和Bower引入第三方库

2、Linux下安装运行环境

3、关于安装虚拟机时碰到的网络设置的问题

实验环境:Windows 10 ,Visual Studio 2017 ,VM 14 , CentOS 7

二、使用Visual Studio 开发项目

不管你是使用Windows或MacOS操作系统,都可以采用Visual Studio 进行开发。.NET Core不再采用下载dll文件并copy到项目中的方式来引入第三方类库,而是采用NuGet工具进行第三方库的管理,NuGet只能管理类库,对于前端开发的js包需要通过Bower进行管理。

1、NuGet

如果我在项目中需要用到JSON转换的工具,在项目上鼠标右键选择“管理NuGet程序包”,在浏览窗口输入json,选择需要的包,比如Newtonsoft.Json,然后选择版本,安装即可。

2、Bower

不知什么原因,我用的VS版本,项目右键无法找到“管理Bower程序包”的菜单,解决方案:

在项目根目录添加两个文件

文件一:  bower.json ,内容如下:

{

  "name": "asp.net",

  "private": true,

  "dependencies": {

  }
}

文件二:  .bowerrc  ,内容如下:

{

  "directory": "wwwroot/lib"

}

此时在项目右键就可以选择“管理Bower程序包”了。

用法和NuGet类似:在浏览页搜索要找的包,如:jQuery,选择合适的包和版本,安装即可。

三、使用Linux环境运行项目

我选择的Linux环境为CentOS7,最初在CentOS6.5下安装过SDK,但没有成功,后来选择了7以上版本就OK了。

安装步骤如下:

# rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
# yum update# yum install libunwind libicu# yum install dotnet-sdk-2.1.200

第一行代码是添加资源库

第二行代码为更新操作系统

第三行代码为安装依赖包

第四行代码为安装SDK

由于版本变化等原因,以上代码不一定永远可以成功执行,最新的安装指令或其他平台安装方法可以在此查询:Install .NET Core SDK

安装完成后可以运行以下指令来确认是否安装成功。

# dotnet --info

把开发好的项目Copy到Linux环境,在其项目目录下运行  dotnet run  即可启动项目,此时为源码项目方式运行,在开发环境我们对项目进行发布,将发布的项目文件夹Copy到Linux环境,在项目文件夹下运行dotnet WebApplication4.dll 即可启动项目。关于项目的发布后面会单独介绍。

四、虚拟机的网络设置

不是每个人手上都有充足的Linux机器资源,采用虚拟机来建立学习环境还是很有必要的。不管是采用VM还是VisualBox,整个安装过程都是比较简单的,可能唯一有疑问的地方就是选择什么类型的虚拟网卡。

vmware为我们提供了三种网络工作模式,它们分别是:Bridged(桥接模式)、NAT(网络地址转换模式)、Host-Only(仅主机模式)。

这里不对三种模式进行详细探讨,直接给出建议:

1、如果是在服务器上安装虚拟机建议采用桥接模式,此时虚拟机将成为网络里的一台机器;

2、如果是在本机上安装虚拟机,建议采用NAT模式,此时虚拟机只有本机可以访问;

如果是NAT模式可以采用DHCP方式获取IP地址,如果是桥接模式建议配置静态IP地址。

设置网络IP配置的指令:

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

桥接模式的配置信息

?


1

2

3

4

5

6

7

8

9

10

DEVICE=eth0

TYPE=Ethernet

ONBOOT=yes

NM_CONTROLLED=yes

BOOTPROTO=none

IPADDR=

NETMASK=

GATEWAY=

DNS1=

#以上4个数字参考路由器设置,和普通服务器类似

NAT模式的配置信息

?


1

2

3

4

5

DEVICE=eth0

TYPE=Ethernet

ONBOOT=yes

NM_CONTROLLED=yes

BOOTPROTO=dhcp

配置完成后可以通过 # ifconfig 指令查询本机IP信息。  

原文地址:https://www.cnblogs.com/owenzh/p/11090518.html

时间: 06-26

循序渐进学.Net Core Web Api开发系列【1】:开发环境的相关文章

循序渐进学.Net Core Web Api开发系列【8】:访问数据库(基本功能)

系列目录 循序渐进学.Net Core Web Api开发系列目录 本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi 一.概述 本篇讨论如何连接数据库,包括连接SQL Server 和 连接MySQL,然后做一些基本的数据操作. 二.连接SQL Server 首先通过NuGet添加相关的包: 新建一个实体类: public class Product { [Key] public string Code { get; set; } p

循序渐进学.Net Core Web Api开发系列【9】:常用的数据库操作

系列目录 循序渐进学.Net Core Web Api开发系列目录 本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi 一.概述 本篇描述一些常用的数据库操作,包括:条件查询.排序.分页.事务等基本数据库操作.试验的数据库为MySQL. 二.条件查询1.查询所有记录 List<Article> articles = _context.Articles.ToList<Article>(); 2.根据主键进行查询 Articl

循序渐进学.Net Core Web Api开发系列【13】:中间件(Middleware)

系列目录 循序渐进学.Net Core Web Api开发系列目录 本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi 一.概述 本篇介绍如何使用中间件(Middleware). 二.初步演练 先写几个中间件 public class DemoAMiddleware { private readonly RequestDelegate _next; private readonly ILogger _logger; public Dem

在Mac下创建ASP.NET Core Web API

在Mac下创建ASP.NET Core Web API 在Mac下创建ASP.NET Core Web API 这系列文章是参考了.NET Core文档和源码,可能有人要问,直接看官方的英文文档不就可以了吗,为什么还要写这些文章呢? 原因如下: 官方文档涉及的内容相当全面,属于那种大而全的知识仓库,不太适合初学者,很容易让人失去重要,让人掉入到具体的细节之中. 对于大多数人来讲开发语言只是工具,程序员都有一个通病,就是死磕工具,把工具学深.我认为在工具上没有必要投入太多时间,以能高效地完成日常的

ASP.NET Core Web API 开发-RESTful API实现

REST 介绍: 符合REST设计风格的Web API称为RESTful API. 具象状态传输(英文:Representational State Transfer,简称REST)是Roy Thomas Fielding博士于2000年在他的博士论文 "Architectural Styles and the Design of Network-based Software Architectures" 中提出来的一种万维网软件架构风格. 目前在三种主流的Web服务实现方案中,因为R

ASP.NET Core Web API下事件驱动型架构的实现(一):一个简单的实现

很长一段时间以来,我都在思考如何在ASP.NET Core的框架下,实现一套完整的事件驱动型架构.这个问题看上去有点大,其实主要目标是为了实现一个基于ASP.NET Core的微服务,它能够非常简单地订阅来自于某个渠道的事件消息,并对接收到的消息进行处理,于此同时,它还能够向该渠道发送事件消息,以便订阅该事件消息的消费者能够对消息数据做进一步处理.让我们回顾一下微服务之间通信的几种方式,分为同步和异步两种.同步通信最常见的就是RESTful API,而且非常简单轻量,一个Request/Resp

ASP.NET Core Web API下事件驱动型架构的实现(二):事件处理器中对象生命周期的管理

在上文中,我介绍了事件驱动型架构的一种简单的实现,并演示了一个完整的事件派发.订阅和处理的流程.这种实现太简单了,百十行代码就展示了一个基本工作原理.然而,要将这样的解决方案运用到实际生产环境,还有很长的路要走.今天,我们就研究一下在事件处理器中,对象生命周期的管理问题. 事实上,不仅仅是在事件处理器中,我们需要关心对象的生命周期,在整个ASP.NET Core Web API的应用程序里,我们需要理解并仔细推敲被注册到IoC容器中的服务,它们的生命周期应该是个怎样的情形,这也是服务端应用程序设

ASP.NET Core 实战:使用 ASP.NET Core Web API 和 Vue.js 搭建前后端分离项目

 一.前言 这几年前端的发展速度就像坐上了火箭,各种的框架一个接一个的出现,需要学习的东西越来越多,分工也越来越细,作为一个 .NET Web 程序猿,多了解了解行业的发展,让自己扩展出新的技能树,对自己的职业发展还是很有帮助的.毕竟,现在都快到9102年了,如果你还是只会 Web Form,或许还是能找到很多的工作机会,可是,这真的不再适应未来的发展了.如果你准备继续在 .NET 平台下进行开发,适时开始拥抱开源,拥抱 ASP.NET Core,即使,现在工作中可能用不到. 雪崩发生时,没有一

asp.net core web api token验证和RestSharp访问

对与asp.net core web api验证,多种方式,本例子的方式采用的是李争的<微软开源跨平台移动开发实践>中的token验证方式. Asp.net core web api项目代码: 首先定义三个Token相关的类,一个Token实体类,一个TokenProvider类,一个TokenProviderOptions类 代码如下: /// <summary> /// Token实体 /// </summary> public class TokenEntity