html webapi实际项目,.net5 core webapi项目实战之十九:发布和部署(完结篇)

本篇介绍如何发布项目并在IIS上部署以供外部调用。

要通过IIS运行.NET5 core webapi需在IIS所在服务器上配置运行环境,

包括 .NET Core 运行时、.NET Core 库和 ASP.NET Core 模块,他们都被打包在.NET Core 托管捆绑包中。

.net core运行时和.net core库我们已经很熟悉了,简单介绍一下ASP.NET Core 模块。

一、ASP.NET Core 模块

ASP.NET Core 模块是插入 IIS 管道的本机 IIS 模块,能让 ASP.NET Core 应用程序通过 IIS 运行。

可以使用以下任一方式通过 IIS 运行 ASP.NET Core 应用:

1. 在 IIS 工作进程 (w3wp.exe) 内托管 ASP.NET Core 应用,称为进程内托管模型,如下图:

a751710ebaa8287e10001cbbc6a34235.png

上图说明了 IIS、ASP.NET Core 模块和进程内托管的应用之间的关系。

2. 将 Web 请求转发到运行 Kestrel 服务器的后端 ASP.NET Core 应用,称为进程外托管模型,如下图:

ae306fb44d30ccf226b61311afed2872.png

上图说明了 IIS、ASP.NET Core 模块和进程外托管的应用之间的关系。

自 ASP.NET Core 3.0 起,默认情况下使用的是进程内托管模型,因为这样可以得到更好的性能和诊断。

二、安装.NET Core 托管捆绑包

.NET Core 托管捆绑包是 .NET Core 运行时和 ASP.NET Core 模块的安装程序, 官方下载地址:

https://dotnet.microsoft.com/download/dotnet-core/thank-you/runtime-aspnetcore-5.0.3-windows-hosting-bundle-installer

a55eb2d8b3ceb348c427a0443390571b.png

本项目的.net版本是.net5 ,下载时选择对应的版本进行安装,画面如下:

32fad2456e79b2d385c2ffefbb83a5d1.png

2659cf10d55e39a013e351788779c303.png

e22949062f8fe4ab2513b10b4c85626b.png

c6eb2b6dc8f244bcf0574a7abb3b8258.png

32b84c8a23259cd3626749322b3169e5.png

8b42545b9ed7a7a81edeba7bb9af3d22.png

若要确定已安装 ASP.NET Core 模块的版本,先找到aspnetcorev2.dll

(C:\PROGRAMFILES\IIS\Asp.Net Core Module\V2\aspnetcorev2.dll),

右键--属性--详细信息,“文件版本”和“产品版本”表示模块的已安装版本,如下图:

2eb991c44248e1c8125abdaa6a71b183.png

三、发布webapi

1. 在VS2019的解决方案资源管理器中选中项目点右键---发布,如下:

cdf25d810b5fac5adcdb9a021862acfa.png

2. 我们将项目发布到文件夹中,如下图:

df329c1c49eea47c7821e16aa9a52108.png

3. 下一步之后,可以看到发布的界面,如下图(下面的红框是发布的路径):

9db13ec8f70c0d6cc7dc3be62da3200a.png

4. 点"发布"按钮后生成的文件路径是"目标位置"后的红框处。

7022364d8181c54c9c2e4c86bd36c8f3.png

5. 打开IIS新建一个WebDemo的网站,然后在该网站上" 右键--添加应用程序 ",如下图:

e4d6d7239b529d6515093a6dbfcc4bc0.png

6 . 输入应用程序名称 "WebApiDemo" 及路径(这里指向项目发布时的路径)后点 "确定按钮",如下图:

75864d908d8c6b9524ee306e315b3101.png

7. 可以看到WEB API就在IIS上部署完成了,如下图:

6c6c987ad3db8c5e833953976a17858d.png

8.打开POSTMAN测试一下 , 输入网址:http://localhost/WebApiDemo/api/users,结果如下:

9549640433f5d99765363c023963d12c.png

提示我们 401 没有授权的信息。

注意:因为此Webapi是在IIS上的WebDemo网站下以应用程序的方式部署的,

所以网址的localhost后要加上应用程序的名称"WebApiDemo"才能访问。

9. 访问网址 http://localhost/WebApiDemo/api/users/login并配置好acc=111&pwd=222参数,结果如下:

13691c389e761715c0d4788cbf5b120d.png

显示生成的token信息,说明在IIS上部署的webapi已经可以提供接口访问服务了。

(完结)

原文:https://www.cnblogs.com/pfm33/p/14398859.html

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值