龙空技术网

.NETCore3.1 WebApi集群实战专题-WebApi环境搭建运行发布部署篇

云怀 250

前言:

现时咱们对“webapi netcore”大约比较关怀,咱们都需要学习一些“webapi netcore”的相关知识。那么小编也在网摘上搜集了一些对于“webapi netcore””的相关内容,希望小伙伴们能喜欢,大家一起来了解一下吧!

作者:Eleven 来源:朝夕Net社区

欢迎大家阅读《朝夕Net社区技术专刊》第1期

我们致力于.NetCore的推广和落地,为更好的帮助大家学习,方便分享干货,特创此刊!很高兴你能成为首期读者,文末福利不要错过哦!本文通过5大部分进行解读:

Core3.1WebApi准备环境

本地演示环境:Visual Studio2019 --- Vsersion:16.4.4 + NetCore3.1.2

个人建议使用Vs2019 升级最新版即可!

Core环境下载地址:;SDK 3.1.102: 包含的运行时/.NET Core运行时3.1.2/ASP.NET Core运行时3.1.2 桌面运行时3.1.2

ASP.NET Core Runtime: 使您可以运行现有的Web /服务器应用程序。在Windows上,包含.NET Core Runtime和IIS支持的主机捆绑包。

创建项目

创建API项目

项目架构

项目结构解读

1.创建的CoreWebApi项目其实是一个控制台项目;

2.launchSettings.json就是配置项目启动类型的配置文件;

3.Controllers:控制器,创建Api就是从这里添加;

4.Startup:可以选择的包括ConfigureServices方法来配置应用程序的服务。必须包括一个 Configure 方法来创建应用程序的请求处理管ConfigureServices和Configure在应用程序启动时由运行时调用:

【如下图】

详解1

可以在项目中为不同的环境分别定义独立的启动类Startup(如, StartupDevelopment),系统启动时会选择适当的启动类。ASP.NET 并不关心 Startup 类是不是定义为 public,如果它符合命名规范,ASP.NET 将继续加载它。如果有多个 Startup 类,也不会触发异常,ASP.NET 将基于命名空间选择其中一个(匹配项目的根命名空间的启动类优先,否则使用第一个按字母排列的命名空间中的启动类)。

详解1

可以在项目中为不同的环境分别定义独立的启动类Startup(如, StartupDevelopment),系统启动时会选择适当的启动类。ASP.NET 并不关心 Startup 类是不是定义为 public,如果它符合命名规范,ASP.NET 将继续加载它。如果有多个 Startup 类,也不会触发异常,ASP.NET 将基于命名空间选择其中一个(匹配项目的根命名空间的启动类优先,否则使用第一个按字母排列的命名空间中的启动类)。

详解3

web host通过启动类的构造函数提供了一些有效可用服务。应用程序还可以通过ConfigureServices增加额外的服务。主机配置的服务和ConfigureServices增加的额外的服务在整个应用程序中都是有效可用的。

新增控制器Api

创建控制器的可能比较慢,均属正常,请耐心等待;

CoreWebApi 严格遵循RESTFull风格;

启动/部署/调试

1.Vs启动webApi;不做详解;

2.命令启动:dotnet Zhaoxi.Core.WebApi.dll --urls="http://*:8004" -- ip="127.0.0.1" --port= 8004

注释:必须要定位到根目录下 然后CMD执行命令:dotnet dll文件全名称 --urls="http://*:端口号" --ip="自定义IP地址" --port= 端口号

3. 部署IIS,需要发布项目:发布成文件系统;

4.IIS增加网站:写入网站名称,物理路径指向刚刚发布的文件夹;

5.指向程序集---基本设置;

6.选择无代码托管

注意:如果没有安装运行时需要下载运行时:

选择以下安装;

7.安装完毕以后,安装之后在IIS模块会有一个:AspNetCoreModuleV2;

8.调用WebApi:即可,如果是命令启动;访问路径必须和命令启动指定的iP/端口一致;

关注小编,为您持续更新.NET技术栈

下期预告

【朝夕Net社区技术专刊】第2期:

Corre3.1WebApi配置集成日志/配置Swagger

本期福利

如果看完本文让你有所收获,

别忘转发扩散,和更多人分享学习的快乐!

转发本文至朋友圈,

截图发至朝夕Net社区公众号,

即可获取本期配套教学视频及课件!

《朝夕Net社区技术专刊》持续更新,公众号: 朝夕Net社区

标签: #webapi netcore